我正在使用Git和gitk的命令行版本。我想查看完整版本树,而不仅仅是当前签出版本可以访问的部分。有可能吗?
答案 0 :(得分:251)
如果你碰巧没有可用的图形界面,你也可以在命令行打印出提交图:
git log --oneline --graph --decorate --all
如果此命令使用无效选项--oneline投诉,请使用:
git log --pretty=oneline --graph --decorate --all
答案 1 :(得分:104)
当我在工作地点只有终端时,我使用:
git log --oneline --graph --color --all --decorate
当OS支持GUI时,我使用:
gitk --all
当我在家中使用Windows PC时,我使用自己的GitVersionTree
答案 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