我见过一些书籍和文章中有一些非常漂亮的Git分支和提交的图表。如何制作Git历史的高质量可打印图像?


当前回答

有一个时髦的Git提交图作为Raphael web图形库的演示之一。

这个演示是静态的,但应该很容易获取代码并将静态数据交换为一组实时数据——我认为这只是JSON格式的Git提交数据。

演示在这里:http://dmitrybaranovskiy.github.io/raphael/github/impact.html

其他回答

除了“Slipp D.Thompson”的答案外,我建议您添加此别名以具有相同的装饰,但通过提交将其添加到单行中:

git config --global alias.tre "log --graph --decorate --pretty=oneline --abbrev-commit --all --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)'"

这是我对此事的看法:

截图:

用法:

githist-显示当前分支的历史记录

githist--all-显示所有分支(包括remotes)的图形

git-hist-master-devel-显示两个或多个分支之间的关系

git-hist--分支-显示所有本地分支

添加--按拓扑顺序对提交进行排序,而不是按日期排序(此别名中的默认值)

优点:

看起来就像普通的装饰,所以不同的分支名称使用不同的颜色添加提交人电子邮件添加提交相对日期和绝对日期按日期排序提交

设置:

git config --global alias.hist "log --graph --date-order --date=short \
--pretty=format:'%C(auto)%h%d %C(reset)%s %C(bold blue)%ce %C(reset)%C(green)%cr (%cd)'"

尝试gitk或gitk——全部。但是,它没有打印/保存img功能。

这取决于他们的长相。我用gitx制作这样的图片:

您可以在24路章鱼合并(最初来自http://clojure-log.n01se.net/date/2008-12-24.html):

基于我在回答相关问题时发现的Graphviz脚本,我黑了一个Ruby脚本,该脚本创建了Git存储库的摘要视图。它消除了所有的线性历史,只显示“有趣的”提交,即那些有多个父母、多个子女或由分支或标记指向的提交。下面是它为jQuery生成的图形片段:

git big picture和BranchMaster是类似的工具,它们试图通过仅显示标记、分支、合并等的关联方式,仅显示图形的高级结构。

这个问题还有其他选择。