我想使用 gitk 比较 2 个分支,而没有其他分支历史的混乱。
我可以通过 gui 实现这一点: View > New view > Branches & tags: v0.8.x v0.9.x
我尝试了以下,但它仍然显示所有分支:gitk --branches v0.8.x v0.9.x
什么是正确的语法?
问问题
20441 次
2 回答
34
gitk v0.8.x v0.9.x
为我做。
但是,仔细查看显示的分支,我发现实际上没有显示给定的分支。此外,还显示了两个分支历史中指向提交的所有分支。
因此,该命令显示所有指定的分支,包括那些是指定分支的直接祖先的分支。
编辑:
--branches=
如果您想查看所有名为的分支,例如,将使用该开关fix/*
:
gitk --branches=fix/*
将向您显示与给定 shell glob 匹配的所有分支。
另请参阅文档以gitk
获得更深入的解释。
于 2014-06-02T11:06:49.557 回答
1
我无法使--branches[=<pattern>]
论点起作用(对于任何 shell glob,尤其是对于多个 glob)。幸运的是,您可以使用一大堆 unix 管道来完成相同的操作。
git branch -r | egrep "origin/(testing|prod|dev)" | xargs | tr '\n' ' ' | xargs -I {} bash -c 'gitk {}'
分解:
git branch -r
-- 显示所有远程分支egrep "origin/(testing|prod|dev)"
testing*
-- 筛选以、prod*
或开头的那些dev*
。第一
xargs
——简单的修剪方法tr '\n' ' '
-- 将所有结果合并到一个空格分隔的行中xargs -I {} bash -c 'gitk {}'
-- 将该行通过管道传输到 gitk
于 2021-06-03T18:43:58.660 回答