1

我写

git log -SMyTextStringHere --source --all

我希望 git 在所有分支的源代码中搜索文本 MyTextStringHere。我得到一个结果。当我上周介绍它时。我期望得到的是我最新的变化,string MyTextStringHere;string MyTextStringHere="". 这是今天的变化,我可以在我的源代码中看到它,我可以在 github 上看到它。

为什么 git log search 不向我显示此更改?它在一条线上工作,这条线受到影响,所以我希望看到它。

4

1 回答 1

3

状态的文档git log -S

寻找引入或删除 <string> 实例的差异。请注意,这与仅出现在 diff 输出中的字符串不同;有关更多详细信息,请参阅 gitdiffcore(7) 中的镐条目。

手册页的引用部分gitdiffcore部分说明:

当使用 diffcore-pickaxe 时,它​​会检查是否存在“结果”端和“源”端具有不同数量的指定字符串的文件对。

由于您期望找到的更改,您的搜索字符串的出现次数不会增加或减少,因此不应找到该提交。

使用该-G选项而不是-S应该给您预期的结果。

于 2013-02-26T22:38:14.880 回答