title author date CreateTime categories
git 使用 VisualStudio 比较分支更改
lindexi
2018-08-10 19:16:52 +0800
2018-2-13 17:23:3 +0800
git

有时候需要比较两个分支的不同,这时如果提交到 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

需要修改自己的文件所在,一般可以搜索找到。

如果想使用一个简单的方法,可以打开 VisualStudio 团队设置,然后设置使用 VisualStudio

忽略对比的文件夹

如果在 git 提交中,存在某个文件都是资源,在对比中,不停需要去看这些文件,感觉想把git卸了。但是git那么厉害,是不是有一个方法可以做到,忽略某个文件夹的更改。是的,下面我来告诉大家如何忽略这个文件夹。

例如需要忽略的文件是 c:\code\dx\resource 项目所在文件夹是c:\code\dx,dx就是我的名字,所以项目是假的。

使用 git 输入下面的命令就可以忽略 resource 文件夹

git difftool relase dev -- . ':!resource'

这个命令需要注意,-- . ':!要忽略的文件夹' 除了中文,其它的都是需要添加的。

最新文章

  1. jQuery cbpContentSlider 滑动切换
  2. c++ 标准库的各种容器(vector,deque,map,set,unordered_map,unordered_set,list)的性能考虑
  3. 数据传输:JSON,XML
  4. IIS WebForm开发基础
  5. Javascript 弱类型:除法结果是小数
  6. 英语语法最终珍藏版笔记-6“情态动词+have+ done”的含义
  7. Python_Day_4(内置函数之篇)
  8. Chef
  9. Unity UGUI —— 无限循环List(转载)
  10. 【转】深入理解Java:SimpleDateFormat安全的时间格式化
  11. 中国科学院信息project研究所 第四研究室实习生/应届生招聘
  12. 安卓 webview背景色的设置
  13. MyBatis 源码分析——生成Statement接口实例
  14. HTML5和CSS3实现3D转换效果 CSS3的3D效果
  15. Django Tastypie: 贴士,技巧和故障排除
  16. Maven中基于POM.xml的Profile来动态切换配置信息
  17. 常被问到的十个 Java 面试题
  18. Java中的静态方法和实例方法的调用的理解(不同的类下的方法调用)
  19. s6-8 TCP 拥塞控制
  20. 使用StringEscapeUtils对Java中特殊字符进行转义和反转义

热门文章

  1. day38 01-Spring框架的概
  2. idea添加jar包
  3. 洛谷1081 (NOIp2012) 开车旅行——倍增预处理
  4. Vue--系统指令(基础)
  5. dns-prefetch对网站速度能提升有多少?详解dns-prefetch。
  6. Python 使用BeautifulSoup模块抽取数据
  7. js中字符串的加密base64
  8. laravel后台扩展包
  9. vue_qqmapdemo1
  10. sql —— check