如果我有n个git分支,如何轻松显示这些分支之间的关系?
基本上我有兴趣看到我的存储库中所有分支的子集的树。然而,我对所有中间提交都不感兴趣。
例如:我的存储库看起来像这样:
o---o--o A
/ /
o--o--o--o--o--o B
\ \ \
\ o--o C \
\ \ \
o--o--o--o--o--o D
但可能更复杂。现在我想看看分支A,C和D之间的关系。有些东西:
o A
/
o--o--o
\ \
o---o C
\
o--o D
或同等的概述。这有可能,怎么样? (图形工具就可以了。)
解决方案
根据Antoine Pelisses的回答,下面的行似乎(几乎)完全符合我的要求:
git log --graph --decorate --oneline --simplify-by-decoration A B C
更新
Mark Longair在下面的回答中指出gitk
接受与git rev-list
相同的参数,因此可以这样做:
gitk --simplify-by-decoration A C D
答案 0 :(得分:43)
你可以尝试一下:
git log --graph --all --decorate --simplify-by-decoration
它只会显示分支头或标记的提交。
答案 1 :(得分:17)
我会用:
gitk A C D
...可能还有其他git GUI可以生成更漂亮的提交图表,但我总是发现gitk
可以用于此目的。所有分支和标签都标有“伦敦地铁”式表示:
您还可以--simplify-by-decoration
使用gitk
选项,因为它了解git rev-list
所做的所有参数,例如:
gitk --simplify-by-decoration A C D