使用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. Cygwin工具安装和使用指导书

    前言 Cygwin是一个在windows平台上运行的类UNIX模拟环境.它可以满足你在Windows系统上学习Linux基本命令操作.脚本调试的基本需求. Cygwin使用优点介绍 1.Cygwin安 ...

  2. Java_监听器监听文件夹变动

    package demo4; import java.io.IOException;import java.nio.file.FileSystems;import java.nio.file.Path ...

  3. Spring再接触 集合注入

    beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  4. 安装USB驱动时报错“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动”

    今天在安装一个USB设备的时候报错“Windows已找到设备的驱动程序软件,但在试图安装它时遇到错误”. 这个错误的描述是“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动”. 事实上,这个 ...

  5. 转载——JavaScript学习笔记:取数组中最大值和最小值

    转载自:http://www.w3cplus.com/javascript/calculate-the-max-min-value-from-an-array.html. 取数组中最大值 可以先把思路 ...

  6. CS通用项目系统搭建——三层架构第二天 (补一篇完整的SqlHelper)

    #region ExecuteNonQuery(如果是增,删,修) /// <summary> /// 执行sql命令 /// </summary> /// <param ...

  7. AVL树实现记录

    https://github.com/xieqing/avl-tree An AVL Tree Implementation In C There are several choices when i ...

  8. 【CPU微架构设计】利用Verilog设计基于饱和计数器和BTB的分支预测器

    在基于流水线(pipeline)的微处理器中,分支预测单元(Branch Predictor Unit)是一个重要的功能部件,它负责收集和分析分支/跳转指令的执行结果,当处理后续分支/跳转指令时,BP ...

  9. My_SQ主键,外键

    1.default ;设置默认参数,且不能更改. 2.not null  ;传参数时不能为空. 3.unique  ;在该列不能value 不能重复. 4.primary key  ;设置主键,不能含 ...

  10. linux学习笔记:关于环境变量

    (摘自https://blog.csdn.net/llzk_/article/details/53813266之后整合) 1.linux系统的条件 Linux是一个多用户的操作系统,每个用户登录系统时 ...