提到git忽略文件,我们最容易想到的,同时也是我们最常用的莫过于通过.gitignore。最近才知道还有一种方式,通过.git/info/execute。这里主要记录两者的差异。
Git系列的目录如下:
Git常用命令整理一(Git stash)
Git常用命令整理二(Git托管项目)
Git常用命令整理三(Git配置)
Git常用命令整理四(Git删除文件)
Git常用命令整理五(Git疑难杂症)
Git常用命令整理六(创建分支的子分支)
Git常用命令整理七(稀疏检出)
Git常用命令整理八(忽略文件)
Git常用命令整理九(忽略跟踪)
Git常用命令整理十(优雅用法)
Git常用命令整理十一(各种撤回)
一、.gitignore忽略文件
0、项目根目录下增加.gitignore文件
1、在.gitignore中添加不提交到版本库的文件
vim .gitignore .DS_Store
二、.git/info/execute忽略文件
0、进入项目根目录下
1、编辑.git/info/execute文件, 增加忽略文件
vim .git/info/execute .vscode
三、两者差异
0、.gitignore可以作为一个项目文件提交,项目组公共需要排除的文件都可以放到这里面。
1、.git/info/execute仅排除本地文件,其他人不受这个规则影响。
比如你用VSCODE,需要排除.vscode文件,其他人可能不用这个IDE,不需要排除这个文件。
2、.git/info/execute不会提交到代码版本库中。
3、项目中可以有多个.gitignore文件,放在不同的目录/子目录中,用来排除特定目录下的文件。
参考:
stackoverflow: When would you use .git/info/exclude instead of .gitignore to exclude files?
简书:Git 忽略一些文件不加入版本控制