如何在插入和删除时找到具有特定字符串的所有提交?

时间:2013-09-11 19:01:24

标签: git github

我需要使用git执行特定类型的日志。

我想知道如何从开始日期到结束日期找到使用特定字符串(例如' my_table')进行插入或删除的所有提交ID。

是否可以显示作者和在匹配查询的提交的上下文中更改的行?

有人知道我该怎么做?

2 个答案:

答案 0 :(得分:3)

使用git log -S"string"这将显示“string”出现次数发生变化的所有提交。如果您想查看补丁本身,请添加-p标记或--patch标记。

您可以使用--pretty更改日志的输出,作者可以使用'%an'显示

git log -S"string" -p --pretty="%an"

有关更多选项和信息,请查看手册页。它们也可在线获取(https://www.kernel.org/pub/software/scm/git/docs/git-log.html)。

答案 1 :(得分:1)

要查询存储库的修补程序内容,请使用

git log -S<string-pattern> --diff-filter AD

使用--pickaxe-regex启用正则表达式模式时,可以选择添加-S

或者,要在提交消息中搜索特定字符串,请使用

git log --grep="<message-pattern>" --diff-filter AD

--diff-filter AD限制仅导致文件已添加已删除的提交。