有时候需要比较两个分支的不同,这时如果提交到 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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

最新文章

  1. monkey命令
  2. 【zz】Matlab 二值图像形态学函数 bwmorph
  3. Linq 操作基础
  4. Javascript高级程序设计——基本类型和引用类型的值
  5. [芯片][MPU6050] MPU60X0的DMP相关链接
  6. hdu 3074 Multiply game
  7. FKCL-OS——自主的操作系统
  8. Catalyst揭秘 Day5 optimizer解析
  9. 六、Socket之UDP异步传输文件-实现稳定的文件传输
  10. Android开发之异步获取并下载网络资源-下载图片和下载文本内容
  11. 记录ASP.NET页面表单初始状态(主要是为了前台可以根据这个判断页面是否变动了)
  12. 水池(DFS)
  13. 【转】opencv-在图像上显示字符(不包括中文)
  14. Codeforces Round #243 (Div. 2) Problem B - Sereja and Mirroring 解读
  15. log4j与log4j.properties的配置
  16. Flask 视图
  17. day7 [id],[is],编码
  18. js-JavaScript实现数字的千位分隔符
  19. PAT B1045 快速排序 (25 分)
  20. 20155320 Exp3 免杀原理与实践

热门文章

  1. Spring中ApplicationEvent和ApplicationListener封装
  2. nginx 执行理解
  3. MySQL--Percona-XtraDB-Cluster 5.6安装笔记
  4. CefSharp.v49.0.1浏览器控件完全WPF版,实现禁止弹出新窗口,在同一窗口打开链接,并且支持带type="POST" target="_blank"的链接
  5. 【计算机网络】 网络体系结构分类: 客户机/服务器体系和P2P
  6. 【BZOJ3097】 Hash Killer I
  7. 使用wget命令爬取整站
  8. Swift5 语言指南(二十二) 扩展
  9. linux设置静态ip地址
  10. java中身份证号和的银行卡的深度校验