我希望您能为我翻译一下:如何在 Git 中筛选某个分支?简单吗?
若要显示特定分支中的文件,可以使用以下命令:
git show branch:my_branch bla_sheep.txt
类似的语法也被用于 diff 等命令。
有没有一种简单的方法可以在一个分支中使用 grep 命令:
git grep branch:my_branch <regex>
我希望您能为我翻译一下:如何在 Git 中筛选某个分支?简单吗?
若要显示特定分支中的文件,可以使用以下命令:
git show branch:my_branch bla_sheep.txt
类似的语法也被用于 diff 等命令。
有没有一种简单的方法可以在一个分支中使用 grep 命令:
git grep branch:my_branch <regex>
查看多个提交,从某个分支的末尾开始向后工作: git grep
可以查看任何特定的 tree (因此任何给定的提交都标识了一个特定的tree),但要迭代在某个分支中包含的每个提交,您需要自己执行git rev-list
:
git rev-list branch | while read rev; do git grep <regexp> $rev; done
例如(但您可能需要更加精美地处理此操作,以便在找到所需内容后停止grep)。
如果你想要查找分支 <branch>
的最新提交,并查找(或未能找到)任何一个与<regexp>
匹配的实例, 只需简单执行以下命令:
git grep <regexp> branch
循环形式仅适用于您希望从该顶端提交开始,并向后继续工作,浏览分支上以前的提交。
要搜索另一个分支,请使用以下命令:
git grep <regex> <branch-name>
git rev-list
以相反的时间顺序列出事物,因此如果您想要最新的结果,只需在git grep
找到内容后停止即可。(虽然没有记录,但似乎git grep
具有与普通grep
相同的退出状态,即0 = 找到了内容,1 = 没有找到。我没有进一步测试。) - torek