在git中查看完整版本树


114

我正在使用Git和gitk的命令行版本。我想查看完整的版本树,而不仅仅是从当前签出的版本可以访问的部分。可能吗?

Answers:


79

您可以尝试以下方法:

gitk --all

您可以gitk使用任何git rev-list了解的内容来告诉显示什么,因此,如果您只想要几个分支,则可以执行以下操作:

gitk master origin/master origin/experiment

...或更奇特的事物,例如:

gitk --simplify-by-decoration --all

291

如果碰巧没有可用的图形界面,则还可以在命令行上打印出提交图:

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

如果此命令抱怨选项--oneline无效,请使用:

git log --pretty=oneline --graph --decorate --all

6
有了gitl时谁需要gitk!别名gitl = 'GIT登录--oneline --graph --decorate --all'
雷兔子

10
alias gl='git log --oneline --graph --decorate --all'。为什么键入的
Dana Woodman

我希望可以在制表符完成之前发明命令行缩写。它们只会使那些经常使用这些命令的人和那些疯狂记忆的人受益。
aaaaaa

121
  1. 当我仅在码头工作时,我使用:

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

    在此处输入图片说明

  2. 当操作系统支持GUI时,我使用:

    gitk --all

    在此处输入图片说明

  3. 在家用Windows PC上时,我使用自己的GitVersionTree

    在此处输入图片说明


对我来说是完美的答案。我的操作系统支持GUI,所以第二种选择是我要走的路,但让我说我只是想非常快速地从命令行查看图表:是否有某种方法可以避免键入第一个版本中的所有这些开关,或者您只是重新输入一直在打字吗?谢谢。
rchrd

1
@rchrd我可以通过运行将它们设置为别名,git config --global alias.ver "log --oneline --graph --color --all --decorate"然后只需要输入即可git ver
校验和

23

这个问题有一个很好的答案
在“〜/ .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"

5

声誉不足以评论knittl的答案,因此:

如果不需要分支或标签名称:
git log --oneline --graph --all --no-decorate

如果您甚至不需要颜色(避免通过管道传输时的键序):
git log --oneline --graph --all --no-decorate --no-color

您可能想使用别名(在.gitconfig中)来简化生活:

[alias]
  tree = log --oneline --graph --all --no-decorate

只有最后一个选项才会生效,因此甚至可以覆盖您的别名:
git tree --decorate

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.