我正在使用 Git 和 gitk 的命令行版本。我想查看完整的版本树,而不仅仅是从当前签出的版本中可以访问的部分。是否可以?
问问题
125369 次
5 回答
328
如果您碰巧没有可用的图形界面,您还可以在命令行上打印出提交图:
git log --oneline --graph --decorate --all
如果此命令抱怨无效选项 --oneline,请使用:
git log --pretty=oneline --graph --decorate --all
于 2011-03-19T10:30:40.080 回答
141
当我在只有终端的工作场所时,我使用:
git log --oneline --graph --color --all --decorate
当操作系统支持 GUI 时,我使用:
gitk --all
当我在家里的 Windows PC 中时,我使用自己的GitVersionTree
于 2013-08-17T10:40:46.470 回答
87
您可以尝试以下方法:
gitk --all
您可以使用任何可以理解gitk
的内容来判断要显示的内容,因此如果您只想要几个分支,您可以这样做:git rev-list
gitk master origin/master origin/experiment
...或更多异国情调的东西,例如:
gitk --simplify-by-decoration --all
于 2011-03-19T08:34:11.653 回答
25
同一个问题有一个很好的答案。
将以下行添加到“~/.gitconfig”:
[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --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"
于 2015-01-28T16:41:55.987 回答
14
如果您不需要分支或标签名称:
git log --oneline --graph --all --no-decorate
如果您甚至不需要颜色(以避免 tty 颜色序列):
git log --oneline --graph --all --no-decorate --no-color
还有一个方便的别名(在 .gitconfig 中),让生活更轻松:
[alias]
tree = log --oneline --graph --all --no-decorate
只有最后一个选项生效,因此甚至可以覆盖您的别名:
git tree --decorate
于 2019-08-30T07:25:01.740 回答