要搜索 Git 历史记录中已添加/删除的字符串,我可以执行以下操作:
git log -S'some text'
这个方法很好,但它不能搜索合并提交。如何让命令在搜索时包括合并提交?
看起来 -m 标志会给我想要的结果
git log -m -S'some text'
我在另一个网站上找到这个,如果有人能指点我一个包含此标志的手册页,那就太好了。 这个不包括它。http://ftp.kernel.org/pub/software/scm/git/docs/git-log.html由于一些Git命令是基于其他(“plumbing”)命令构建的,因此它们经常继承其他命令的选项。我同意在手册页或--help
输出中没有看到这些选项很烦人。在这种情况下,git-log帮助文档如下:
该命令采用适用于git-rev-list命令的选项来控制显示内容和方式,并采用适用于git-diff-*命令的选项来控制每个提交引入的更改的显示方式。
在这种情况下,您可以在git-diff-tree中找到-m
选项:
... -m 默认情况下,git-diff-tree --stdin不会显示合并提交的差异。使用此标志,它将显示该提交与其所有父项之间的差异。 也请参阅-c。 ...
-m
,很可能不是你想要的。它将合并拆分为多个“虚拟”日志条目,每个父提交一个,因此分支专有的文件将出现在另一个分支差异中作为全新添加的文件。如果要搜索合并提交引入的更改,则最好使用 -c
或 --cc
。 - MestreLion