git图示所有分支的历史

1.第一种方法

git gui

菜单栏上 repository-->visual all branch history

或者直接使用命令gitk --all

 

 

 

2.在git bash中,使用命令查看

git log --graph --all

【命令行查看不太适合相差太大的分支,分支的共同父节点和分支的当前节点隔开太多】

 

 

3.tortoisegit中,查看日志的功能中

左下角有一个all branches的checkbox,勾选之后就可以显示了

 

 

 

查看日志的时候,不要让commit按照时间顺序来排列

http://stackoverflow.com/questions/8187767/git-is-there-a-command-line-option-for-sort-by-date-for-gitk

http://lists-archives.com/git/655429-visualizing-git-s-git-repo.html

 

  • 首先看一下没有按照时间顺序排列的gitk -all

查看分支的合并历史记录的时候,会非常清楚。[将红色的分支称为A分支,将绿色的分支称为B分支]

从上图可以很明显的看出A分支,有3个新的commit;二B分支有4个新的commit;然后将2个分支合并,生成了一个新的commit

 

  • 再来看一下按照时间顺序排列的gitk -all -d

在上图中用红色的圈,标明了需要对比的部分

可以看到右侧的4个提交记录是不连贯的,这个不符合合并的时候逻辑思维

我们在合并2个分支的时候,并不关系,2个分支上的commit的时间,我们关心的是在A分支上做了多少提交,在B分支上做了多少提交,

上图打乱了B分支的4个提交首先看到的是B分支的3个提交记录,然后是A分支的3个提交记录,再看到B分支的1个提交记录。这种图示不符合我们要了解合并流程的思维

假如A和B分支的提交,在时间上是相互交错的话,这个图的可理解性会变得更差

 

最后看下tortoisegit的效果图

tortoisegit的默认显示,是正确的显示方式 --topo-order

但是tortoisegit的显示效果没有gitk的效果好

temp fix的这次提交记录,从这里直接向右做的分支图,效果很差,多个分支之间进行了交叉

 

和gitk的效果对比,很明显可以看出,gitk是直接从后方绕过去的。确保了分支的合并,整个历史记录不会有交叉的地方出现

 

posted @ 2015-08-21 17:03 ChuckLu 阅读(...) 评论(...) 编辑 收藏