漂亮的git分支图
我见过一些书和文章有一些非常漂亮的git分支和提交图。 我如何制作高质量的git历史打印图像?
更新:这个答案已经得到了应有的重视。 最初发布是因为我认为图表看起来不错,可以在Illustrator中为出版物绘制 - 而且没有更好的解决方案。 但是现在有更多适用于这个Q的答案,例如fracz,Jubobs或Harry Lee's! 请去upvote那些!
更新2:我已经在git问题中发布了这个答案的可视化分支拓扑的改进版本,因为它在那里更合适。 该版本包括lg3
,它显示了作者和提交者的信息,所以你真的应该检查出来。 留下这个答案的历史(&rep,我承认)的理由,但我真的很想删除它。
2¢ :我有两个别名,通常放在我的~/.gitconfig
文件中:
[alias]
lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"
git lg
/ git lg1
看起来像这样:
和git lg2
看起来像这样:
这里的许多答案都很棒,但对于那些只需要简单的一行就可以直接回答问题的人而无需设置别名或其他任何附加内容,这里是:
git log --all --decorate --oneline --graph
不是每个人做一个混帐记录所有的时间,但是当你需要它只是记住:“ 一只狗 ” = git的日志- 一册- d ecorate - Øneline - 摹拉夫
对于文本输出,您可以尝试:
git log --graph --abbrev-commit --decorate --date=relative --all
要么:
git log --graph --oneline --decorate --all
或者:这是用于绘制DAG图形的graphviz别名。
我个人使用gitx
, gitk --all
和gitnub
。