【发布时间】:2009-10-31 18:08:50
【问题描述】:
要搜索已在 git 历史记录中添加/删除的字符串,我可以这样做
git log -S'some text'
这很好用,只是它不搜索合并提交。如何获取在搜索中包含合并提交的命令?
【问题讨论】:
要搜索已在 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 命令是建立在其他(“管道”)命令之上的,因此它们通常会从其他命令继承选项。我同意看不到手册页或--help 输出中记录的内容很烦人。在这种情况下,git-log 帮助指出:
该命令采用适用的选项 到 git-rev-list 命令来控制 显示的内容、方式和选项 适用于 git-diff-* 命令 控制每次提交的更改方式 介绍了。
在这种情况下,您会在git-diff-tree 下找到-m 选项:
【讨论】:
-m,它很可能不是你想要的。它将合并拆分为几个“虚拟”日志条目,每个父提交一个,因此一个分支独有的文件将显示为另一个分支差异上的全新添加文件。要搜索 in 合并提交中引入的更改,您最可能需要 -c 或 --cc