我需要使用git执行特定类型的日志。
我想知道如何从开始日期到结束日期找到使用特定字符串(例如' my_table')进行插入或删除的所有提交ID。
是否可以显示作者和在匹配查询的提交的上下文中更改的行?
有人知道我该怎么做?
答案 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
限制仅导致文件已添加或已删除的提交。