我使用的是 Git 和 gitk 的命令行版本。我希望看到完整的版本树,而不仅仅是从当前签出版本可到达的部分。有可能吗?
你可以尝试以下方法:
gitk --all
你可以告诉 gitk使用 git rev-list明白显示什么,所以如果你只想要一些分支,你可以这样做:
gitk
git rev-list
gitk master origin/master origin/experiment
或者更奇特的东西,比如:
gitk --simplify-by-decoration --all
如果您碰巧没有可用的图形界面,您也可以在命令行上打印出提交图:
git log --oneline --graph --decorate --all
如果此命令使用无效的选项—— oneline,请使用:
git log --pretty=oneline --graph --decorate --all
当我在工作的地方只有终端时,我使用:
git log --oneline --graph --color --all --decorate
当操作系统支持 GUI 时,我使用:
当我在家用 Windows 电脑时,我使用我自己的 GitVersionTree
对于同一个问题有一个 非常好的回答。 向“ ~/. 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"
如果不需要分支或标记名称: git log --oneline --graph --all --no-decorate
git log --oneline --graph --all --no-decorate
如果你甚至不需要颜色(避免 tty 颜色序列) : git log --oneline --graph --all --no-decorate --no-color
git log --oneline --graph --all --no-decorate --no-color
还有一个方便的别名(在. gitconfig 中) ,让生活更轻松:
[alias] tree = log --oneline --graph --all --no-decorate
只有最后一个选项生效,所以甚至可以覆盖你的别名:
git tree --decorate