当前位置:   article > 正文

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

git difftool

      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、配置环境

  1. 2.1:在terminal中执行如下命令:
  2. git config --global diff.tool diffmerge
  3. git config --global difftool.diffmerge.cmd 'diffmerge "$LOCAL" "$REMOTE"'
  4. git config --global merge.tool diffmerge
  5. git config --global mergetool.diffmerge.cmd 'diffmerge --merge --result="$MERGED" "$LOCAL" "$(if test -f "$BASE"; then echo "$BASE"; else echo "$LOCAL"; fi)" "$REMOTE"'
  6. git config --global mergetool.diffmerge.trustExitCode true
  1. 2.2:或者在~/.gitconfig中添加如下代码。
  2. [diff]
  3. tool = diffmerge
  4. [difftool "bc3"]
  5. cmd = /usr/bin/bcompare \"$LOCAL\" \"$REMOTE\"
  6. [merge]
  7. tool = diffmerge
  8. [difftool]
  9. prompt = false
  10. [mergetool "bc3"]
  11. cmd = /usr/bin/bcompare \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
  12. [difftool "diffmerge"]
  13. cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
  14. [mergetool "diffmerge"]
  15. cmd = "diffmerge --merge --result=\"$MERGED\" \"$LOCAL\" \"$(if test -f \"$BASE\"; then echo \"$BASE\"; else echo \"$LOCAL\"; fi)\" \"$REMOTE\""
  16. trustExitCode = true

三:beyond compare配置。

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

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

  1. 3.2:在~/.gitconfig中添加如下配置。
  2. [diff]
  3. tool = bcomp
  4. [difftool "bcomp"]
  5. cmd = \"/usr/local/bin/bcomp\" \"$LOCAL\" \"$REMOTE\"
  6. [difftool]
  7. prompt = false
  8. [merge]
  9. tool = bcomp
  10. [mergetool]
  11. prompt = false
  12. [mergetool "bcomp"]
  13. 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文件

  1. [user]
  2. name = ******
  3. email = ******@163.com
  4. [alias]
  5. lg = log --pretty=format:'%C(auto) %h | %ai | %Cred %an %Cgreen %s'
  6. st = status
  7. ci = commit
  8. dt = difftool
  9. mt = mergetool
  10. [difftool]
  11. prompt = false
  12. [diff]
  13. tool = bc
  14. [difftool "bc"]
  15. cmd = \"/Applications/Beyond Compare.app/Contents/MacOS/bcomp\" \"$LOCAL\" \"$REMOTE\"
  16. [mergetool "bc"]
  17. cmd = \"/Applications/Beyond Compare.app/Contents/MacOS/bcomp\" \"$LOCAL\" \"$REMOTE\" \"$(if test -f \"$BASE\"; then echo \"$BASE\"; else echo \"$LOCAL\"; fi)\" \"$MERGED\"
  18. trustExitCode = false

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/694683
推荐阅读
相关标签
  

闽ICP备14008679号