Git grep 遍历所有分支中的所有提交并在寻呼机中打开?

Posted

技术标签:

【中文标题】Git grep 遍历所有分支中的所有提交并在寻呼机中打开?【英文标题】:Git grep over all commits in all braches and open up in a pager? 【发布时间】:2020-04-30 09:17:41 【问题描述】:

按照here 的建议,我可以遍历所有分支,但我想在 vim 等寻呼机中打开结果。失败:

git grep -Ovim <regexp> $(git rev-list --all)

无需使用$(git rev-list --all) 遍历所有提交即可工作。

如何 grep 遍历所有分支中的所有提交并在 vim 等分页器中打开结果?

【问题讨论】:

你想用vim打开grep结果还是用vim打开匹配的文件? 【参考方案1】:

如果你想使用open file in pager函数,你不能跨分支。它仅适用于工作树。

但是如果你想在vim中打开grep结果,很简单:

git grep ... $(git rev-list --all)|vim -

您可能需要调整 grep 选项以抑制颜色输出。

【讨论】:

为什么是最后一个? Git 工具非常了解如何使用 isatty() 并实际使用它。

以上是关于Git grep 遍历所有分支中的所有提交并在寻呼机中打开?的主要内容,如果未能解决你的问题,请参考以下文章

撤消 Git 分支提交和合并

如何查看 git 中分支之间的提交差异?

Git使用实例分析

git 怎么查看其它分支的代码

工作常用git命令

所有分支上每位作者的 Git 提交数