在Windows平台使用GUI习惯了,因此在CMD命令下反而感到不适
特别是在使用GIT时,尤其明显(这主要是GIT在工作中已经不可或缺)
使用GIT最常用的功能就是提交,添加,比较差异和合并分支,特别是在更改的文件比较多的情况下在CMD命令下查看差异下显得特别的不人性化(鼠标不停的向下翻)
终于实在是忍受不了,所以就想能不能通过自己最常用的方式来比较差异呢?
因为在工作中一直使用的就是Beyond Compare,所以决定将其作为默认的GIT比较工具
 
编辑GIT配置文件 C:\Users\Administrator\.gitconfig并保存,然后就可以在GIT里来调用diff和mergetool来通过Beyond Compare查看差异,这样的效果就显得人性化多了

 
[gui]
encoding = utf-8
[i18n]
commitencoding = utf-8
[svn]
pathnameencoding = utf-8
[user]
email = huangyuan413026@163.com
name = huangyuan #使用beyond compare来查看文件差异
[diff]
#对比工具名称,必须与difftool项里的名称保持一致
tool = bc4
[difftool "bc4"]
#beyond compare路径和调用命令
#$REMOTE 表示commit之后的文件
#LOCAL 表示commit到git的文件
cmd = "\"D:/program files (x86)/beyond compare 4/bcomp.exe\" \"$REMOTE\" \"$LOCAL\""
#合并分支
[merge]
#对比工具名称,必须与mergetool项里的名称保持一致
tool = bc4
[mergetool]
prompt = false
[mergetool "bc4"]
#beyond compare路径和调用命令
cmd = "\"D:/program files (x86)/beyond compare 4/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""

  

比较文件差异:
 
合并分支,比较分支文件差异:
     
 
使用difftool来查看两个分支的差异:
所有有差异的文件都会单独在Beyond Compare 打开并进行比较而不是直接比较两个分支的文件夹,没有直接使用CMD的diff方便
 
另一种方式:使用TortoiseGit可以直接对比两个分支的差异
  1. 在Git工程目录,右键菜单:
  2. 点菜单项【Git与前一版本比较】
    如何没有看到这个菜单项,则在【TortoiseGit】的子菜单中。
  3. 打开了【TortoiseGit的版本Diff窗口】,缺省显示的是工作区和前一个提交版本的差异
  4. 点击右边的按钮,选择要比较的分支或是标签后,下列的文件列表里就是两个分支或是标签的Diff相关的文件。双击里面的文件条目,TortoiseGit会使用TortoiseGit配置的GUI Diff查看工具查看文件Diff。

其实【TortoiseGit的版本Diff窗口】的右边按钮选择,除了选分支或是标签,还可以选择指定版本,很方便。

 
PS:
一个GIT工具都可以写N本书,我也是醉了,有必要搞的这么复杂吗?
还是Windows设计的人性化,点点鼠标就完成了
看来在桌面端Linux永远无法超过Windows
再强大的系统也是给人用的,如果大多数人都不能很轻易的使用那只能呵呵了
 
参考:

Windows平台下使用Beyond Compare作为GIT默认的比对与合并工具的更多相关文章

  1. Windows平台下搭建Git服务器的图文教程

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

  2. Windows平台下搭建Git服务器的图文教程(转发)

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

  3. Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  4. windows平台下基于VisualStudio的Clang安装和配置

    LLVM 是一个开源的编译器架构,它已经被成功应用到多个应用领域.Clang是 LLVM 的一个编译器前端,它目前支持 C, C++, Objective-C 以及 Objective-C++ 等编程 ...

  5. Windows平台下的读写锁

    Windows平台下的读写锁简单介绍Windows平台下的读写锁以及实现.背景介绍Windows在Vista 和 Server2008以后才开始提供读写锁API,即SRW系列函数(Initialize ...

  6. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

  7. MongoDB学习总结(一) —— Windows平台下安装

    > 基本概念 MongoDB是一个基于分布式文件存储的开源数据库系统,皆在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB将数据存储为一个文档,数据结构由键值key=>val ...

  8. windows平台下基于QT和OpenCV搭建图像处理平台

        在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...

  9. Windows平台下的内存泄漏检测

    在C/C++中内存泄漏是一个不可避免的问题,很多新手甚至有许多老手也会犯这样的错误,下面说明一下在windows平台下如何检测内存泄漏. 在windows平台下内存泄漏检测的原理大致如下. 1. 在分 ...

随机推荐

  1. Fiddler_解决Fiddler查看Post参数中文乱码的问题

    解决Fiddler查看Post参数中文乱码的问题 今天一个同事问我,为什么用Fiddler查看Post的中文参数,是一堆乱码,如下: 需要在注册表中增加一个键值: HKEY_CURRENT_USER\ ...

  2. spring集成kafka

    一.添加依赖项 compile 'org.springframework.kafka:spring-kafka:1.2.2.RELEASE' 二.发消息(生产者) 2.1 xml配置 <?xml ...

  3. Microsoft实现的IOC DI之 Unity 、Service Locator、MEF

    这几个工具的站点 Microsoft Unity  http://unity.codeplex.com Service Locator http://commonservicelocator.code ...

  4. LPC-LINK 2 Board IO

  5. 如何:声明、实例化和使用委托(C# 编程指南)

    委托的声明如下所示: C#   public delegate void Del<T>(T item); public void Notify(int i) { } C#   Del< ...

  6. delphi Image 处理

    procedure ResizeBmp(Src,Dst:String);var SrcBM,DstBM:TBitMap; Rect:TRect; NewW,NewH,PicW,PicH:Integer ...

  7. read(10, &quot;NTP0 13690\n&quot;, 64) 数据库登录缓慢

    初步怀疑:下面两个參数引起: SQL> conn / as sysdba Connected. SQL> show parameter lock NAME ---------------- ...

  8. AngularJS过滤排序思路

    本篇主要整理使用AngularJS进行过滤排序的思路. 在controller中,$scope的persons字段存储数组. $scope.persons = [ { "name" ...

  9. Delphi 包的设计思想及它与PAS、BPL、DCU、DLL、OXC的关系

    一.Delphi中各种文件的介绍,及其关系. OXC: ActiveX控件.会被安装到某一个组件包DPK中,在Imports中会创建PAS.DCU.DCR三个文件. DLL: 动态链接库文件,它的Ex ...

  10. JSTL(c标签)与Struts2(s标签)标签的常用功能对比

    1. 条件标签 JSTL <c:if test="${user.password == 'hello'}"> <c:choose> <c:when t ...