执行 Git difftool 命令时,如果修改过的文件比较多,则可能会被BCompare的弹窗烦的要死,所以开始比较之前,有一个文件的过滤的配置过程,只比较自己关注的文件,还是很有必要的。
创建测试环境
假设存在如下目录和文件,要通过Git进行管理加上git控制git init git add . git commit -m'init'
修改此目录下的所有文件,以便进行测试。修改完文件后,通过 git status 命令查看状态,提示文件都有改动。
进行过滤的配置
创建 .gitattributes 文件。因为window窗口下不能直接创建以.开头的文件,会提示"必须键入文件名" 所以通过bat命令的形式创建文件。
创建一个makefile.bat文件,内容为:cd.>gitattributes.txt ren gitattributes.txt .gitattributes
执行此bat,在当前目录下创建.gitattributes文件成功。添加 .gitattributes的文件内容为:
*.css diff=nodiff global.json diff=nodiff .gitattributes diff=nodiff makefile.bat diff=nodiff /Temp/*.* diff=nodiff
以上配置的含义为:
1:所有后缀为css的文件不进行比较
2:global.json文件不进行比较
3:.gitattributes文件不进行比较
4:makefile.bat文件不进行比较
5:Temp文件夹下的所有文件不进行比较
此时的目录下的文件结构为:再次通过git status 查看状态,提示添加了两个没有进行版本控制的文件。查看git的配置信息git config --list
可见之前配置过文件比较器为BC
修改Git配置信息,添加 diff.nodiff.command 项,值为truegit config diff.nodiff.command true
然后再次查看配置信息,确保配置生效
执行difftool命令 只会比较此目录下后缀为 .less的文件。.gitattributes 文件中配置的内容,均未进行比较。
还没有评论,来说两句吧...