在git历史记录中搜索合并提交中的更改

时间:2009-10-31 18:08:50

标签: git search history

要搜索已在git历史记录中添加/删除的字符串,我可以

git log -S'some text'

除非它不通过合并提交进行搜索,否则这很有效。如何获取命令以在搜索中包含合并提交?

2 个答案:

答案 0 :(得分:20)

似乎-m标志给了我想要的结果

git log -m -S'some text'

我在另一个网站上发现了这个,如果有人可以指向一个包含这个标志的手册的方向,那将是很棒的。这个不包括http://ftp.kernel.org/pub/software/scm/git/docs/git-log.html

答案 1 :(得分:6)

由于某些Git命令是在其他(“plumbing”)命令之上构建的,因此它们通常从其他命令继承选项。我同意,不要在手册页或--help输出中看到这些内容,这很烦人。在这种情况下,git-log帮助说明:

  

该命令采用适用的选项   到git-rev-list命令来控制   展示的内容,方式和选项   适用于git-diff- *命令   控制每个提交的更改方式   介绍了。

在这种情况下,您会在git-diff-tree下找到-m选项:

...
-m
    By default, git-diff-tree --stdin does not show differences 
    for merge commits. With this flag, it shows differences to 
    that commit from all of its parents. See also -c.
...