使用WinMerge作为git的Merge工具

我比较喜欢使用免费的WinMerge作为diff和merge工具,虽然TortoiseGit也自己带了TortoiseGitMerge工具,但是使用起来总觉得不是那么方便。

虽然WinMerge项目看起来没人维护了,最后一个发布打分版本在2013-02-02,但是这个工具使用起来还是相当方便的。我在重装机器的时候,或者更新Windows的时候,如果需要配置TortoiseGit,总是需要到网上查找如何配置WinMerge,因为长长的命令参数总是记不起来。所以在本文中记录下来。

作为Diff工具

如果使用WinMerge作为diff工具,需要在TortoiseGit的设置(Setting)对话框中选择Diff Viewer:

选择外部工具"External",在输入框中输入:

1
C:\Program Files (x86)\WinMerge\WinMergeU.exe /s /e /x /ul /ur /wl /dl %bname /dr %yname %base %mine

如果你已经把C:\Program Files (x86)\WinMerge加入到环境变量Path中了,你可以简写成:

1
WinMergeU /s /e /x /ul /ur /wl /dl %bname /dr %yname %base %mine

/s限制WinMerge窗口为单个实例,避免出现多个窗口。

/e允许使用ESC作为退出键。

/x如果文件没有变动则关闭WinMerge窗口。

/ul和/ur不把左右窗口的文件加入到Most Recently Used (MRU)列表。

/wl左边窗口的文件设为只读,这样我们只可以修改右边的文件。

/dl为左边的文件指定描述符。

/dr为右边的文件指定描述符。

%base为左边窗口打开的文件。

%mine为右边窗口打开的文件。

作为Merge工具

在TortoiseGit的设置(Setting)对话框中选择Merge Tool:

1
C:\Program Files (x86)\WinMerge\WinMergeU.exe %theirs %mine %merged

如果你已经把C:\Program Files (x86)\WinMerge加入到环境变量Path中了,你可以简写成:

1
WinMergeU %theirs %mine %merged

参考资料

  1. http://www.bricelam.net/2014/08/14/using-winmerge-with-tortoisegit.html
  2. http://thoai-nguyen.blogspot.com/2012/03/setup-tortoise-git-and-winmerge.html

原文链接: http://colobu.com/2016/05/10/using-winmerge-with-tortoisegit/

使用WinMerge作为git的Merge工具的更多相关文章

  1. OSX下git diff/merge 可视化工具 P4Merge 环境配置步骤

    先下载 step1:首先,把要运行的命令放入外部包装脚本中,创建一个merge包装脚本,名字叫做extMerge,让它带参数调用P4Merge. $ cat >> /usr/local/b ...

  2. Git 源代码管理工具

    Git 源代码管理工具 Git基本信息 Git :Git是一个“分布式”的版本控制工具 Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Lin ...

  3. git设置对比工具

    windows下设置 beyond compare 3 为 git  的对比工具. 首先需要先安装 beyond compare 3 工具,切记需要安装安装版的,不要搞绿色版的. mac下使用 Kal ...

  4. [Ubuntu] Git可视化比较工具 P4Merge 的安装/配置及使用

    1 下载 下载地址. 链接到上面的下载页后,先找到左边导航的 Clients ,如下图 1 所示. 接着找到 P4Merge: Visual Merge Tool , 如下图 2 所示. 最后,选择好 ...

  5. 免费好用的Diff和Merge工具大总结

    总结:比较下来:diffmerge和P4merge最好用,kdiff比较专业些,支持自动merge. 一 csdiff 下载:http://www.componentsoftware.com/Prod ...

  6. 使用meld作为git的辅助工具

    原文链接: https://lrita.github.io/2017/05/14/use-meld-as-git-tool/?hmsr=toutiao.io&utm_medium=toutia ...

  7. KDiff3 Merge工具的使用 极简教程

    www.swack.cn - 原文链接:KDiff3 Merge工具 1.软件安装 下载链接:KDiff3-64bit-Setup_0.9.98-2.exe 安装KDiff3 git config - ...

  8. 几款Git GUI客户端工具

    工欲善其事,必先利其器. 作为一名开发人员,你不可能不知道git,无论你是开发自己的开源项目还是和团队一起进行大规模产品的开发,git都已经是源代码管理工具的首选.当然,那些hardcore deve ...

  9. Git代码管理工具

    Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...

随机推荐

  1. Vue stage2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. dojo里添加目录树

    其实循环生成目录树这个方法不仅仅局限于在使用dojo的情况下,只要明白了其中的原理,在任何一种语言下都能动态循环生成. 1. 数据结构 在这里先说明一下数据结构,我这里循环生成目录树的数据结构是像这样 ...

  3. SQL中IF和CASE语句

    IF表达式 IF(A,B,C): 如果 A 是TRUE (A <> 0 and A<> NULL),则 IF()的返回值为B; 否则返回值则为 C.IF() 的返回值为数字值或 ...

  4. angualrjs添加ngTouch

    angularjs没有touch时间需要添加directive 插件代码如下 "use strict"; angular.module("ngTouch", [ ...

  5. Java环境变量PATH和CLASSPATH

    Java开发中常用到环境变量的配置,下面简单介绍下Java中经常配置的环境变量:PATH和CLASSPATH. 1.PATH环境变量 1.1 作用简介 安装完JDK(Java Development ...

  6. jquery中checkbox的选中,反选,全不选 注意1.6版本以上将attr改成prop

    <script type="text/javascript"> $(function () { // 全选 $("#btnCheckAll").bi ...

  7. AXI

    1.Cachable和bufferable 一个Master发出一个读写的request,中间要经过很多Buffer,最后才能送到memory.这些Buffer的添加是为了outstanding,ti ...

  8. 【搬运】 Page Object 官方文档 (新增了Widget特性)

    Appium Java client has facilities which components to [Page Object](https://github.com/SeleniumHQ/se ...

  9. C# 截取两个指定字符串中间的字符串列表

    /// <summary> /// 截取两个指定字符串中间的字符串列表(开始和结束两个字符串不能相同!) /// </summary> /// <param name=& ...

  10. pwnable.kr-passcode-witeup

    进入远端运行, 废话不多说,下载下来分析. 根据提示,编译一下子. 知道问题了. 想象着,输入的值到了passcode1和passcode2的值作为地址的地方,passcode1处刚输入值时,程序终止 ...