相关疑难解决方法(0)

如何grep Git为某个单词提交差异或内容?

在Git代码库中,我想列出包含特定单词的所有提交.我试过这个

git log -p | grep --context=4 "word"
Run Code Online (Sandbox Code Playgroud)

但它并不一定会给我回文件名(除非它比我搜索的单词少了5行.我也尝试过

git grep "word"
Run Code Online (Sandbox Code Playgroud)

但它只给我现在的文件,而不是历史.

如何搜索整个历史记录以便我可以跟踪特定单词的更改?我的意思是在我的代码库中搜索单词的出现以跟踪更改(在文件历史记录中搜索).

git search grep

584
推荐指数
5
解决办法
15万
查看次数

Git别名与位置参数

基本上我想尝试别名:

git files 9fa3
Run Code Online (Sandbox Code Playgroud)

...执行命令:

git diff --name-status 9fa3^ 9fa3
Run Code Online (Sandbox Code Playgroud)

但是git似乎没有将位置参数传递给alias命令.我试过了:

[alias]
    files = "!git diff --name-status $1^ $1"
    files = "!git diff --name-status {1}^ {1}"
Run Code Online (Sandbox Code Playgroud)

......以及其他一些但不起作用.

退化的情况是:

$ git echo_reverse_these_params a b c d e
e d c b a
Run Code Online (Sandbox Code Playgroud)

......我怎么能做这个工作?

git parameters alias command position

244
推荐指数
7
解决办法
5万
查看次数

使用git,我如何在所有分支中搜索字符串?

使用git,如何在所有本地分支中的所有文件中搜索给定的字符串?

Github具体:是否可以在所有github分支上执行上述搜索?(在我的远程github repo上有几个远程分支,理想情况下我不需要为此搜索降低...)

git search branch github

145
推荐指数
6
解决办法
5万
查看次数

如何找出添加特定代码的提交?

我想知道在哪个提交中添加了下面给出的代码:

if (getListView().getChildCount() == 0)
                getActivity().findViewById(android.R.id.empty).setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?

git git-commit

56
推荐指数
4
解决办法
2万
查看次数

使用git在文件的特定行上找到令牌的第一个介绍

假设我有一个文件A.cpp,我注意到该文件的第15行有错误.假设错误是函数上的"const",它返回一个指向成员变量的指针,这意味着在函数上使用const在技术上是正确的但在语义上是错误的.我想与作出改变的作者讨论语义.

使用git,有没有办法找出引入"const"令牌的修订版?更具体地说,我想知道谁引入了令牌.

"git blame"显示谁对该行进行了最后一次更改,但我实际上希望找到包含该令牌的第一个提交.

git version-control blame

13
推荐指数
2
解决办法
3443
查看次数

什么时候git为git config命令引入了"--local"开关?

在哪个git版本成为git config --local可用选项,我在哪里可以阅读更多相关信息?

我认为不提供--global将自动假设它是一个本地配置变量.为什么这个新选项是必要的?

git git-config

8
推荐指数
2
解决办法
4219
查看次数

在所有分支中搜索一个文件中的字符串

是否可以在所有分支中的一个文件中使用 Git grep字符串?

我知道我对某个特定文件进行了更改;我只是找不到我在哪个分支上做的。

git

8
推荐指数
1
解决办法
1118
查看次数

在Git repo中查找包含特定字符串模式的最后一次提交

我想回到最后一次包含代码的提交,例如"ThisClass(object):".该代码随后在稍后的提交中从项目中删除.

我想过使用git bisect + grep/awk-ing.我也听说git grep可能允许你做这类事情,虽然我无法在手册页中弄清楚正确的命令.

有什么想法吗?

git awk grep

5
推荐指数
1
解决办法
935
查看次数

在Git中找到第一行代码

我试图跟踪一段代码(只是一行)到它的提交.

使用blame只会指向一个提交,其中这个行被作为提取方法样式重构的一部分移动.

我可以使用哪些技术来进行提交,这是第一次在代码库中存在特定文本?

git git-blame

5
推荐指数
1
解决办法
1519
查看次数

Git:如何确定添加或删除给定标识符的文件名?

我发现.razmatazz在HTML文件中使用了某个CSS类,但是这个标识符不在任何现有的CSS文件中.这解释了不正确的演示,我已经"踢了一段时间".

我能找到的所有 提交中,该标识符是由运行的是添加或删除

> git log -S razmatazz --source --all
847d9d8 Thu Jun 25 10:05:07 2018 Joe C helpful commit message.
9384843 Wed May 20 14:10:34 2018 Joe C ever more helpful commit message.
2093483 Mon Apr 15 11:15:51 2018 Joe C yet another great message.
Run Code Online (Sandbox Code Playgroud)

但同时我一直在合并/取消合并/重命名我的CSS文件,因此我不知道CSS文件名.

如何确定添加或删除给定标识符的文件名?

由于"pickaxe"git选项没有说明是否添加或删除了标识符,我会尝试找到的哈希值和它们的前辈

git show 847d9d8:/path/to/file
git show 847d9d8^:/path/to/file
git show 9384843:/path/to/file
git show 9384843^:/path/to/file
git show 2093483:/path/to/file
git show 2093483^:/path/to/file
Run Code Online (Sandbox Code Playgroud)

获取丢失的定义.

git

5
推荐指数
1
解决办法
44
查看次数

如何找到删除了某些代码的 Git 提交?

我向存储库添加了一些代码行并提交了它。然后这些行之后的提交数已被删除。

我有添加行时的提交哈希值以及删除它们的后续提交的哈希值。我怎样才能找到它们被删除的确切提交?

git

4
推荐指数
1
解决办法
566
查看次数

确定何时在文件中修改行

在许多人使用的git存储库中,我找到了一些我感兴趣的代码,但是并没有完全充实。

我无法知道这是最近的更改还是旧的更改,因此我犹豫只浏览文件上的所有提交。

是否可以找到代码行何时出现在存储库中,以便我可以与发布它的原始人交谈?

git blame

2
推荐指数
1
解决办法
1142
查看次数