查看Git中的完整版本树

154

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

6个回答

355

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

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

如果执行此命令时出现 "invalid option --oneline" 的错误提示,请使用以下命令:

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

8
既然有了gitl,谁还需要gitk呢!别名gitl='git log --oneline --graph --decorate --all' - Thunder Rabbit
13
alias gl='git log --oneline --graph --decorate --all' 这条命令是为了方便使用 Git 命令而创建的,它可以让你用更少的字符来调用 git log 命令,并且输出效果更美观。简单来说,这个命令可以让你在终端中输入 gl 就能够得到和输入 git log --oneline --graph --decorate --all 相同的结果。 - Dana Woodman
我希望命令行缩写是在选项自动完成之前发明的。它们只有对那些经常使用这些命令和拥有超强记忆力的人有益。 - aaaaaa

148
  1. 当我在工作场所只有终端时,我使用:

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

    这里是图片描述

  2. 当操作系统支持图形用户界面时,我使用:

    gitk --all

    这里是图片描述

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

    这里是图片描述


(该段文字为对 IT 技术相关内容的翻译,涉及三种不同的 Git 工具及其使用方法。)

对我来说这是完美的答案。我的操作系统支持GUI,所以第二个选项是我的选择,但是假设我只想从命令行快速查看图表:有没有什么方法可以避免每次都输入第一个版本中的所有开关,或者你只是一遍又一遍地重新输入它们?谢谢。 - rchrd
2
@rchrd 我会通过运行 git config --global alias.ver "log --oneline --graph --color --all --decorate" 将它们设置为别名,之后只需要输入 git ver 即可。 - checksum


28

有关相同问题的非常好的答案
将以下行添加到“〜/ .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"

15
如果您不需要分支或标签名称:
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

-1
function gtree() {
  if [[ -n $DISPLAY ]] && which gitk; then
     gitk --all
  else
     git log --graph --pretty=online --abbrev-commit --all --decorate
  fi
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接