在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. STM32 F4 SPI Accelerometer

    STM32 F4 SPI Accelerometer

  2. J-Link Version

    "J-Link / Flasher Portable V1 " "J-Link ARM / Flasher ARM V2 " "J-Link ARM ...

  3. html5模拟平抛运动

    <html> <head> <meta charset=utf-8> <title>html5炮弹</title> <script&g ...

  4. Why I Left the .NET Framework

    The .NET Framework was good. Really good. Until it wasn't. Why did I leave .NET? In short, it constr ...

  5. Unity3D实践系列08, MonoBehaviour类的各种触发事件

    在脚本的生命周期中,有Awake, Start, FixedUpdate, Update, LateUpdate等方法,其实这些属于MonoBehaviour类的事件响应方法,是MonoBehavio ...

  6. ios之两个view传值

    delegate:demo使用场景,我有A,B两个controller,A是root,跳转到B,B的数据输入完返回A且携带数据显示到A. A.h #import <UIKit/UIKit.h&g ...

  7. QML与C++交互:在qml中使用QSqlQueryModel显示数据库数据

    QML与C++交互:在qml中使用QSqlQueryModel显示数据库数据 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 參考链接: http:// ...

  8. nvidia Compute Capability(GPU)

    GPU Compute Capability NVIDIA TITAN X 6.1 GeForce GTX 1080 6.1 GeForce GTX 1070 6.1 GeForce GTX 1060 ...

  9. 低版本系统兼容的ActionBar(二)ActionProvider+分离式ActionBar+分离式的ActionMode

           这篇文章主要讲的是在低版本兼容的ActionBar中实现自定义的ActionProvider,ShareActionProvider的使用方法,如何实现分离式ActionBar,外加在分 ...

  10. 使用python type动态创建类

    使用python type动态创建类 X = type('X', (object,), dict(a=1))  # 产生一个新的类型 X 和下列方法class X(object):    a = 1效 ...