专栏首页计算机视觉lifeGit diffmerge 工具的配置及问题解决

Git diffmerge 工具的配置及问题解决

最近使用git时发现git diff 不方便,尤其是代码改动较大的时候,需要分成很多行,通过空格翻页对比,用户体验极差

网上搜了下发现有个工具 diffmerge 貌似挺好用

下载地址 http://sourcegear.com/diffmerge/downloaded.php

按照网上配置时总是报错,解决不了,最后自己搞定了,记录一下,已经在多个电脑测试OK,希望对大家有帮助

1、根据自己电脑下载完默认无脑安装diffmerge即可,我在win7和win10都测试过

2、配置环境变量,将sgdm.exe的路径C:\Program Files\SourceGear\Common\DiffMerge 添加到windows环境变量的path下 win7系统是我手动添加的,win10貌似自动添加好了。总之验证一下

3、Git里做些配置 复制以下代码

git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd 'sgdm "$LOCAL" "$REMOTE"'
git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.cmd 'diffmerge --merge --result="$MERGED" "$LOCAL" "$(if test -f "$BASE"; then echo "$BASE"; else echo "$LOCAL"; fi)" "$REMOTE"'
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.keepBackup false

直接在Git bash里粘贴这些代码就行

执行完,你打开电脑里 .gitconfig 文件,可以看到你配置好的东东

4、如果你代码有改动,这时候你在git bash 里输入git difftool。多半会报错如下

解决办法:

[difftool "diffmerge"]
	cmd = sgdm \"$LOCAL\" \"$REMOTE\"
	
// 改为(注意rogram\\ Files中间的两个斜杠,很重要!否则继续报错,很多教程没写这点):
[difftool "diffmerge"]
    cmd = C:/Program\\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"$LOCAL\" \"$REMOTE\"

5、解决中文乱码问题

git difftool

点y,弹出界面,做如下选择

退出当前界面,重新git difftool

一切OK,可以正常使用啦!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux下9种优秀的代码比对工具推荐小结

    在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性。在 Windows 下有个很强大的工具叫作 BeyondCompar...

    砸漏
  • 三款免费好用的代码对比工具,丢弃BeyondCompare

    代码比较是日常开发经常需要做的工作,比如说源代码对比、文档对比,甚至是excel表格对比。

    HaC
  • Git 系列教程(12)- 分支的新建与合并

    正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补,你将按照如下方式来处理:

    小菠萝测试笔记
  • 精通yum配置以及问题解决

    yum基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁...

    幸山
  • 8.1 自定义 Git - 配置 Git

    到目前为止,我们已经阐述了 Git 基本的运作机制和使用方式,介绍了许多 Git 提供的工具来帮助你简单且有效地使用它。 在本章,我们将演示如何借助 Git ...

    shaonbean
  • nginx+uWsgi配置问题的解决

    uWSGI 是在像 nginx 、 lighttpd 以及 cherokee 服务器上的一个部署的选择。更多选择见 FastCGI 和 独立 WSGI 容器 。...

    习惯说一说
  • 3.2 Git 分支 - 分支的新建与合并

    让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤:

    shaonbean
  • 工具武装的前端开发工程师

    刚好获得微信的“原创声明功能”,来实验一下回复功能。前端入坑多年,用过很多的软件和工具,就在此分享给大家一个“老司机”的工具库吧。我现在主要的开...

    小弟调调
  • flutter的环境安装配置问题及解决方法

    Flutter是Google推出的基于Dart语言开发的跨平台开源UI框架,旨在统一纷纷扰扰的跨平台开发框架,在UI层面上多端共用一套Dart代码来实现多平台适...

    砸漏

扫码关注云+社区

领取腾讯云代金券