前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git diffmerge 工具的配置及问题解决

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

作者头像
用户1150922
发布2020-04-30 17:55:37
1.9K0
发布2020-04-30 17:55:37
举报
文章被收录于专栏:计算机视觉life计算机视觉life

最近使用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里做些配置 复制以下代码

代码语言:javascript
复制
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。多半会报错如下

在这里插入图片描述
在这里插入图片描述

解决办法:

代码语言:javascript
复制
[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,可以正常使用啦!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档