无法在终端中显示 Git 树

Killswitchcollective.com 的旧文章,2009年6月30日 ,有以下输入和输出

git co master
git merge [your_branch]
git push


upstream    A-B-C-D-E            A-B-C-D-E-F-G
\        ---->               \
your branch       C-D-E                        G

我感兴趣的是,在 OS/X 中,你如何不使用 Gitk 或 Gitx,而在终端中获得树状的提交视图。

如何在终端中获得类似树的提交视图?

431502 次浏览

如何在终端中获得树状提交视图?

git log --graph --oneline --all

是一个好的开始。

你可能会收到一些奇怪的字母。它们是表示颜色和结构的ASCII码。要解决这个问题,添加以下到你的.bashrc:

export LESS="-R"

这样你就不需要使用Tig的ASCII过滤器

git log --graph --pretty=oneline --abbrev-commit | tig   // Masi needed this

文章来自Git-ready的基于文本的图形包含其他选项:

git log --graph --pretty=oneline --abbrev-commit

git log graph

关于你提到的文章,我会选择豆荚的回答:特别手工输出。


Jakub narekbski .在评论中提到tig,一个基于ncurses的git文本模式界面。看到# EYZ2。< br > 它在2007年增加了--graph选项

一个解决方案是在.gitconfig中创建一个别名,并轻松调用它:

[alias]
tree = log --graph --decorate --pretty=oneline --abbrev-commit

当你下次调用它时,你将使用:

git tree

把它放在你的~/。不需要编辑它,你可以这样做:

git config --global alias.tree "log --graph --decorate --pretty=oneline --abbrev-commit"

(如果你不使用——global,它会把它放在当前回购的.git/config中。)

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

包含分支名称的可视化树。

使用此选项将其添加为别名

git config --global alias.tree "log --oneline --decorate --all --graph"

你用

git tree

Git Tree

# EYZ0

如果你想要一个互动树,你可以使用tig。可以在OSX上使用brew安装,在Linux上使用apt-get安装。

brew install tig
tig

这就是你得到的结果:

enter image description here

保持你的命令简短会让它们更容易记住:

git log --graph --oneline

我建议任何人都写下完整的命令

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

而不是创建一个别名。

把命令记在脑子里是很好的,这样你就能记住它了 换机器时不要依赖别名