压缩git log --graph输出?

时间:2014-07-11 19:48:14

标签: git git-log

有没有办法压缩git log --graph的输出,以便在视觉上压缩遵循线性历史记录的提交?基本上,我只是想看到图中的点,其中一些分支发散/合并以获得顶级概述'我的分支结构是什么样的。举个例子,如果我有这个:

A
|
Z
|
H
|
B    G
|   /
C  F
| /
D
|
E

我希望它显示如下内容:

A    G
|   /
.. ..
| /
D
|
E

1 个答案:

答案 0 :(得分:0)

Ismail Badawi' comment的基础上,我喜欢:

git log --simplify-by-decoration --graph --format="%d"

git repo itself上,会给出:

C:\Users\vonc\prog\git\git>git log --simplify-by-decoration --graph --format="%d"
*  (HEAD, origin/master, origin/HEAD, master)
*  (tag: v1.9.1)
*  (tag: v1.9.0)
*
|\
| *  (tag: v1.8.5.5)
* |  (tag: v1.9.0-rc3)
* |
|\ \
| |/
| *  (tag: v1.8.5.4)
* |  (tag: v1.9-rc2)
* |  (tag: v1.9-rc1)

稍长一点:

git log --simplify-by-decoration --graph --pretty="format:%H%n" | git name-rev --stdin --name-only | less

多行:

git log --simplify-by-decoration --graph --pretty="format:%H%n" | \ 
  git name-rev --stdin --name-only | \
  less

git repo itself上,会给出:

C:\Users\vonc\prog\git\git>git log --simplify-by-decoration --graph --pretty="format:%H%n" | git name-rev --stdin --name-only | less
* master
|
* tags/v1.9.1^0
|
* tags/v1.9.0^0
|
*   tags/v1.9.0~2
|\
| |
| * tags/v1.8.5.5^0
| |
* | tags/v1.9.0-rc3^0
| |
* |   tags/v1.9.0-rc3~4
|\ \
| |/
| |
| * tags/v1.8.5.4^0
| |
* | tags/v1.9-rc2^0