有時候需要比較兩個分支的不同,這時如果提交到 github ,那么默認就可以看到。但是這時因為沒有ide的高亮或者其他的功能,看起來覺得不好
默認的 VisualStudio 比較文件比 github 的用起來好很多,那么如何使用 VisualStudio 作為代碼比較?
嘗試打開一下 VS ,隨意進行對比兩個文件。需要找到一個工具,這個工具放在 TeamFoundation 文件夾里,我這里是 VisualStudio 2017 於是我的路徑是C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\vsDiffMerge.exe
可以打開自己的文件夾進行搜索,找到這個軟件。
然后從 cmd 打開,輸入下面的代碼
vsDiffMerge.exe 文件1 文件2
就可以看到,軟件從 VisualStudio 進行對比
如果使用的是 Powershell ,那么可以輸入 cmd 進入命令行
可以看到對比文件很好用,那么在 git 使用的默認比較分支是git difftool dev release
就可以比較兩個分支,但是如何使用 vs 進行比較?
使用的方法實際上只需要修改一個文件
打開 .git 的 config 在文件最后加入下面的代碼
[diff]
tool = vsdiffmerge
[difftool]
prompt = true
[difftool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsDiffMerge.exe\" \"$LOCAL\" \"$REMOTE\" //t
keepbackup = false
trustexistcode = true
[merge]
tool = vsdiffmerge
[mergetool]
prompt = true
[mergetool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsDiffMerge.exe\" \"$LOCAL\" \"$REMOTE\" //t //m
keepbackup = false
trustexistcode = true
其中的文件路徑需要使用自己安裝的。
如果找不到文件,可以使用在倉庫的git的命令行輸入下面代碼
git config --global difftool.visualstudio.cmd "'C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/vsdiffmerge.exe' \$LOCAL \$REMOTE Source Target //ignorespace //t"
git config --global mergetool.visualstudio.cmd "'C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/vsdiffmerge.exe' \$LOCAL \$REMOTE \$BASE \$MERGED //ignorespace //m"
git config --global mergetool.visualstudio.trustExitCode true
git config --global diff.tool visualstudio
git config --global merge.tool visualstudio
需要修改自己的文件所在,一般可以搜索找到。
忽略對比的文件夾
如果在 git 提交中,存在某個文件都是資源,在對比中,不停需要去看這些文件,感覺想把git卸了。但是git那么厲害,是不是有一個方法可以做到,忽略某個文件夾的更改。是的,下面我來告訴大家如何忽略這個文件夾。
例如需要忽略的文件是 c:\code\dx\resource
項目所在文件夾是c:\code\dx
,dx就是我的名字,所以項目是假的。
使用 git 輸入下面的命令就可以忽略 resource 文件夾
git difftool relase dev -- . ':!resource'
這個命令需要注意,-- . ':!要忽略的文件夾'
除了中文,其它的都是需要添加的
我搭建了自己的博客 https://lindexi.gitee.io/ 歡迎大家訪問,里面有很多新的博客。只有在我看到博客寫成熟之后才會放在csdn或博客園,但是一旦發布了就不再更新
如果在博客看到有任何不懂的,歡迎交流,我搭建了 dotnet 職業技術學院 歡迎大家加入
本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名林德熙(包含鏈接:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改后的作品務必以相同的許可發布。如有任何疑問,請與我聯系。