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://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是直接从后方绕过去的。确保了分支的合并,整个历史记录不会有交叉的地方出现

git图示所有分支的历史的更多相关文章
- Git Pro - (2)分支
Git 保存的不是文件差异或者变化量,而只是一系列文件快照. 在 Git中提交时,会保存一个提交(commit)对象,它包含一个指向暂存内容快照的指针,作者和相关附属信息,以及一定数量(也可能没有)指 ...
- git 创建branch分支
开发者user1 负责用getopt 进行命令解析的功能,因为这个功能用到getopt 函数,于是将这个分支命名为user1/getopt.(1)确保是在开发者user1的工作区中cd /home/j ...
- git 创建branch分支【转】
转自:http://www.cnblogs.com/jackluo/p/3499731.html 开发者user1 负责用getopt 进行命令解析的功能,因为这个功能用到getopt 函数,于是将这 ...
- Git教程之分支管理之二
分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个 ...
- 【git】之分支管理
git是鼓励开发者使用分支,尤其是在大型开发项目中,分支是非常重要的!这里简单介绍一下分支的操作! 1.创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前 ...
- git 查看一个分支是否被合并过
1.查看该分支的提交历史 git log 分支名 2.git log master |grep comitid 如果包含,就证明已经合并过 3.git branch -d 分支名,如果报错,就是没合并 ...
- 版本控制git之二-分支
有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量, ...
- git入门四(分支创建合并)
熟悉git分支的原理是掌握了git的精髓,因为git和我们常用的源码管理系统有很大的区别和优点在分支上可以体现出来,一般我们常用的源码管理系统分支都是需要创建新目录,有全新的源码copy,一般都需要创 ...
- 【Git】整合分支那些事儿
对于scm这个岗位来说,基线升级应该是这个岗位需要的必备技能了,现在来说说我司进行高通代码基线升级时选择的方式方法,供大家参考,也供自己学习积累. git这个工具大家都并不陌生,但是对于不经常提交代码 ...
随机推荐
- Android 讯飞语音之语音合成(在线有声朗读)
原文:http://www.cnblogs.com/scetopcsa/p/3845427.html 在线语音合成的使用方法: 首先下载相关的sdk,这个网址里有多种版本,我选择的Android. h ...
- js 无刷新分页代码
/** * 分页事件处理 */function paging(){ $("#firstPage").click(function(){ //首页 var pageNo = getP ...
- RIME输入法
RIME输入法 1.可以输入汉语拼音. (1) RIME内置的「地球拼音」可以在选择完字之后按下「Shift+Enter」键,直接输入汉语拼音,并且是带声调的. (2) 自己配置汉语拼音方案. 2.五 ...
- 关于C++对汉字拼音的处理——终结篇
以前写过了3个博文,都是关于汉字转拼音的,后来发现都不是很“完美”的解决方案,第一个和第二个利用的unicode编码的范围进行确定汉字的拼音,但是难免有遗漏,这个在后面的实践中发现的,后来第三个方法是 ...
- IOS 学习笔记 2015-03-20 OC-数值类型
一 定义 在Objective-C中,我们可以使用c中的数字数据类型,int.float.long等.它们都是基本数据类型,而不是对象.也就是说,不能够向它们发送消息.然后,有些时候需要将这些值作为对 ...
- JS脚本延时
JS脚本延时 function sleep(milliseconds) { var start = new Date().getTime(); for (var i = 0; i < 1e7 ...
- problem 1 -- Two sum
很简单.没什么好说的.但是在阿里实习的第四面的时候居然问到了. 大意是给出一组无序数列和目标数Z,在无序数列中找到X和Y,使得X+Y=Z. 有两种方法: 一种是排序后,同时首尾搜索.时间复杂度为O(n ...
- apache的MPM机制-prefork
apache是基于模块化设计的. 关于基础的服务,也采用了模块化的设计,但是这个模块是具有排他性的,同一时间只能有一个得到调用. MPM模块(multi processing module) 多处理模 ...
- C程序的构成及动态内存分配
对一个程序,通常的理解就是,源码编译成机器代码,然后通过机器解释运行.不过是怎样编译成机器代码,和怎样运行的,无疑是个值得探讨的问题.怎样编译成机器代码,过程就是源码的编译.链接,编译器做了这些事.而 ...
- Sublime Text3 个人使用心得
sublime与webstorm的比较: webstorm真心很强大,强大到能够几乎满足所有前端开发者编程的需求,方便的快捷键操作.代码提示.浏览器查看.工程管理.历史记录(可以找到之前编辑的内容,即 ...