赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。