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

git图示所有分支的历史的更多相关文章

  1. Git Pro - (2)分支

    Git 保存的不是文件差异或者变化量,而只是一系列文件快照. 在 Git中提交时,会保存一个提交(commit)对象,它包含一个指向暂存内容快照的指针,作者和相关附属信息,以及一定数量(也可能没有)指 ...

  2. git 创建branch分支

    开发者user1 负责用getopt 进行命令解析的功能,因为这个功能用到getopt 函数,于是将这个分支命名为user1/getopt.(1)确保是在开发者user1的工作区中cd /home/j ...

  3. git 创建branch分支【转】

    转自:http://www.cnblogs.com/jackluo/p/3499731.html 开发者user1 负责用getopt 进行命令解析的功能,因为这个功能用到getopt 函数,于是将这 ...

  4. Git教程之分支管理之二

    分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个 ...

  5. 【git】之分支管理

    git是鼓励开发者使用分支,尤其是在大型开发项目中,分支是非常重要的!这里简单介绍一下分支的操作! 1.创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前 ...

  6. git 查看一个分支是否被合并过

    1.查看该分支的提交历史 git log 分支名 2.git log master |grep comitid 如果包含,就证明已经合并过 3.git branch -d 分支名,如果报错,就是没合并 ...

  7. 版本控制git之二-分支

    有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量, ...

  8. git入门四(分支创建合并)

    熟悉git分支的原理是掌握了git的精髓,因为git和我们常用的源码管理系统有很大的区别和优点在分支上可以体现出来,一般我们常用的源码管理系统分支都是需要创建新目录,有全新的源码copy,一般都需要创 ...

  9. 【Git】整合分支那些事儿

    对于scm这个岗位来说,基线升级应该是这个岗位需要的必备技能了,现在来说说我司进行高通代码基线升级时选择的方式方法,供大家参考,也供自己学习积累. git这个工具大家都并不陌生,但是对于不经常提交代码 ...

随机推荐

  1. 关于MD5校验和java工程下的校验

    File file = new File("cos_code2003.bin"); System.out.println(file.length()); byte[] data = ...

  2. 工作中的问题解决 -- (win2003 asp.net) Session和带页面回传的方法无法正常使用解决方案

    公司BP&IT项目组.从上上个月成立开始开发BP&IT软件.这个月开始测试我悲剧的发现他尽然不支持我电脑上的IE11.半个多月还没解决 我们先来分析下原因首页 登陆页面正常浏览 htt ...

  3. Chi Square Distance

    The chi squared distance d(x,y) is, as you already know, a distance between two histograms x=[x_1,.. ...

  4. 九度OJ 1201 二叉排序树

    题目地址:http://ac.jobdu.com/problem.php?pid=1201 题目描述: 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历. 输入: 输入第一行包括一个整数n( ...

  5. IOS 学习笔记 2015-03-24 OC-API-不可变字符串

    大部分是模仿// // main.m // OC-API-不可变字符串 // // Created by wangtouwang on 15/3/25. // Copyright (c) 2015年 ...

  6. 构建 struts2 spring3 mybatis 的maven项目 构建 pom.xml

    学习maven项目时 搭建个ssm项目 算是给自己留个备份吧 环境说明: MyEclipse10 Maven   3.2.3 框架: struts2    2.3.24.1 spring3    3. ...

  7. sonar-maven-plugin错误2

    From maven-sonar-plugin 2.7, SonarQube < 4.5 is no longer supported. If using SonarQube instance ...

  8. svn命令操作

    非超级用户:sudo 命令 svn info 查看svn地址 svn co 地址 检出仓库

  9. TDirectory.Delete 创建删除目录简单示例

    使用函数: 1.System.IOUtils.TDirectory.CreateDirectory//创建目录 2.System.IOUtils.TDirectory.Exists        // ...

  10. 1.MVC框架开发(初识MVC)

    1.约定大于配置 Content:存放静态文件(样式表.静态图片等) Controllers:存放控制器类 Models:存放数据模型文件 Scripts:存放脚本文件 Views:存放视图文件,里面 ...