使用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. leetcode966

    class Solution(object): def spellchecker(self, wordlist: 'List[str]', queries: 'List[str]') -> 'L ...

  2. drf框架之跨域问题的解决与缓存问题

    什么是跨域问题呢: 1. 跨域问题: CORS 跨域资源共享: 有简单请求 和非简单请求 简单请求: 只要符合如下两条,就是简单请求,否则则是非简单请求 (1) 请求方法是以下三种方法之一: HEAD ...

  3. JetBrains 产品线破解方法

    参考: 1.https://www.jianshu.com/p/f404994e2843 2.https://xclient.info/s/intellij-idea.html#versions 3. ...

  4. VirtualBox虚拟机网络设置说明

    1. 网络接入模式简介    VirtualBox的提供了四种网络接入模式,它们分别是:         1.NAT 网络地址转换模式(NAT,Network Address Translation) ...

  5. Day03 - Ruby比一比:Module的include与extend

    前情提要在第一天里,我们很激昂地用Ruby的类别.物件.方法,写了开赛宣言!在第二天里,我们比较了方法与模块,比的过程中,发现模块多了包含(inclusion)与延伸(extension). 超级比一 ...

  6. 微信小程序---转发分享功能

    1. 转发---onShareAppMessage 2.不带参数 //用户点击右上角分享 onShareAppMessage: function (res) { return { title: 'xx ...

  7. jmeter学习笔记--概述

    jmeter:概述 是什么? jmeter是Apache 公司使用java开发的一款测试工具 为什么? 高效.功能强大 模拟一些高并发或多次循环等特殊场景 怎么用? 1.下载jmeter,解压缩 2. ...

  8. Game Engine Architecture 1

    [Game Engine Architecture 1] 1.This book is really just the beginning of a fascinating and potential ...

  9. event 事件2

    4.事件类型 “DOM3级事件”规定了一下几类事件: 1)UI事件(用户界面事件),当用户与页面元素交互时触发 2)焦点事件,当元素获得或失去焦点时触发 3)鼠标事件,当用户通过鼠标在页面上执行操作时 ...

  10. java 两个List集合各种情况对比处理

    Lambda作为函数式编程中的基础部分,在其他编程语言(例如:Scala)中早就广为使用,但在JAVA领域中发展较慢,直到java8,才开始支持Lambda. 抛开数学定义不看,直接来认识Lambda ...