git diff / git difftool 第三方工具配置

本文介绍了如何利用git命令行工具进行文件差异对比,并详细阐述了如何配置和使用diffmerge及BeyondCompare作为git的diff和merge工具。通过配置这些图形化工具,可以更直观地查看和解决文件冲突。步骤包括下载软件、设置git配置以及执行相关命令来查看工作区和缓存区的文件修改。
摘要由CSDN通过智能技术生成

      git作为分布式版本管理工具,各种强大之处不言自明,但是他的检查文件修改变动的功能不得不说和Svn相比比较弱(当然是指在命令行下),如果在开发环境中去查看修改等功能和svn我个人感觉没有什么差别。但是使用git如果运用开发环境里的插件去使用,有种玷污了强大的git的的嫌疑。命令行下查看git文件修改的可以配置许多第三放工具,这里介绍两种,感觉这两种用着比较舒服。

一:git命令介绍
1.1:git diff/difftool 
git  diff :默认查看当前修改并且没有add 的内容
git diff --cached :查看已经add 并且没有commit 的内容
git diff HEAD 是上面查看上面两种条件的并集。

git diff versinnum1 versinnum2  : 比较两个版本号码文件的修改差异。

 二:diffmerge 配置
1、下载diffmerge
2、配置环境

2.1:在terminal中执行如下命令:
git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd 'diffmerge "$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
2.2:或者在~/.gitconfig中添加如下代码。
[diff]
    tool = diffmerge
[difftool "bc3"]
    cmd = /usr/bin/bcompare \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = diffmerge
[difftool]
    prompt = false
[mergetool "bc3"]
    cmd = /usr/bin/bcompare \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
[difftool "diffmerge"]
    cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
[mergetool "diffmerge"]
    cmd = "diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$(if test -f \"$BASE\"; then echo \"$BASE\"; else echo \"$LOCAL\"; fi)\" \"$REMOTE\""
    trustExitCode = true

三:beyond compare配置。

3.1:下载beyond compare(最好搜索破解版下载哈)

下载地址:http://www.scootersoftware.com/BCompareOSX-4.1.6.21095.zip,安装成功然后打开,在菜单中点击安装命令行。

3.2:在~/.gitconfig中添加如下配置。
[diff]
    tool = bcomp
[difftool "bcomp"]
    cmd = \"/usr/local/bin/bcomp\" \"$LOCAL\" \"$REMOTE\"
[difftool]
    prompt = false
[merge]
    tool = bcomp
[mergetool]
    prompt = false
[mergetool "bcomp"]
    cmd = \"/usr/local/bin/bcomp\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"

3.3:上面两种任何一种配置成功后,执行如下:
在terminal下运行如命令,用来查看工作区和缓存区的文件修改情况:
git difftool ,显示场景:会依次打开比较修改的文件(这样就可以在关闭一个,就自动打开下一个修改的文件)
git difftool HEAD -- readme.txt(比较当前文件ready.text的修改情况)。
git difftool命令的用法应该和git diff一样,只是配置好git difftool工具后可以以更加友好的方式打开。

四:附带一份亲测可用的Mac OS  .gitconfig文件

[user]
	name  = ******
	email = ******@163.com
[alias]
	lg = log --pretty=format:'%C(auto) %h | %ai | %Cred %an %Cgreen %s'
	st = status
	ci = commit
	dt = difftool
	mt = mergetool
[difftool]
	prompt = false
[diff]
	tool = bc
[difftool "bc"]
	cmd = \"/Applications/Beyond Compare.app/Contents/MacOS/bcomp\" \"$LOCAL\" \"$REMOTE\"
[mergetool "bc"]
	cmd = \"/Applications/Beyond Compare.app/Contents/MacOS/bcomp\" \"$LOCAL\" \"$REMOTE\" \"$(if test -f \"$BASE\"; then echo \"$BASE\"; else echo \"$LOCAL\"; fi)\" \"$MERGED\"
	trustExitCode = false

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值