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


当前回答

Sourcetree是一个非常好的工具。它确实打印出了一个好看的中等大小的历史和分支图:(以下是在一个实验性Git项目上完成的,只是为了查看一些分支)。支持Windows 7+和Mac OS X 10.6+。

其他回答

看着这段对话,我试着用我最喜欢的git可乐和git dag。

正在运行视图->DAG。。。从git-cola中删除并替换Log:master-with-都显示了一个包含所有分支的漂亮图形。

这里的许多答案都很好,但对于那些只想得到一个简单的一行到位的答案而不必设置别名或其他任何东西的人来说,这里是:

git log --all --decorate --oneline --graph

不是每个人都会一直做git日志,但当你需要它时,请记住:

“A Dog”=git log--all--decorate--oneline--graph

如果您输入

git config --global alias.adog "log --all --decorate --oneline --graph"

在命令提示符下,可以使用

git adog

即使您关闭并重新打开它,也可以从该提示中删除。

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

这里是我的社区别名:gitls。使用gitls,您可以查看图形,每次提交只覆盖一行。一切都是彩色的,并带有有用的信息。您还可以检查其他分支上的提交历史记录:

git config --global alias.ls '!f() { git log $1 --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cgreen\\ [%ae,%ar]" --decorate --graph; }; f'

用法:

# shows commits graph on the current branch
git ls

# shows commits graph on the develop branch
git ls develop 

以下是图表视图:

稍微调整一下Slipp的精彩回答,你可以使用他的别名记录一个分支:

[alias]
lgBranch1 = log --graph --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative
lgBranch2 = log --graph --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(bold white)— %an%C(reset)' --abbrev-commit
lg = !"git lg1"

你现在可以做的一切

git lgBranch1 <branch name>

甚至

git lgBranch1 --all