一次在Git中搜索多个哈希值

时间:2018-01-12 14:23:40

标签: git grep git-log git-grep

我刚收到一条指令来恢复一堆已提交的代码。好消息是所有提交都有一个引用字符串,例如:

ABC-1556
ABC-1616
ABC-4818
ABC-5919

这个推荐会给我其中一个,如何修改grep表示找到它们?

git log --pretty=oneline --abbrev-commit --grep='ABC-1556'

2 个答案:

答案 0 :(得分:1)

您可以将所有引用字符串放入文件(例如patterns),然后使用xargs为每个字符串运行git log命令:

xargs -iPATTERN git log --pretty=oneline --abbrev-commit --grep="PATTERN" < patterns

如果它只是少量模式,你可以在命令行上将它们组合起来,如下所示:

git log --pretty=oneline --abbrev-commit -E --grep="ABC-1556|ABC-1616|ABC-4818|ABC-5919"

答案 1 :(得分:0)

我试过这个,但它不起作用:

git log --pretty=oneline --abbrev-commit --grep='ABC-1556|ABC-1616'

但我发现这样做了:

git log --pretty=oneline --abbrev-commit --grep=ABC-1556 --grep=ABC-1616

问题解决了!