在git中查看完整版本树

时间:2011-03-19 08:32:02

标签: git gitk

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

5 个答案:

答案 0 :(得分:251)

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

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

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

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

答案 1 :(得分:104)

  1. 当我在工作地点只有终端时,我使用:

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

    enter image description here

  2. 当OS支持GUI时,我使用:

    gitk --all

    enter image description here

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

    enter image description here

答案 2 :(得分:69)

您可以尝试以下操作:

gitk --all

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

gitk master origin/master origin/experiment

...或更多奇特的东西,如:

gitk --simplify-by-decoration --all

答案 3 :(得分:19)

同一个问题有一个very good answer 将以下行添加到“〜/ .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"

答案 4 :(得分:1)

声誉不足以评论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