Git 忽略规则「.gitignore」用法

.gitignore文件的内容是一些规则,Git会根据这些规则来判断是否将文件添加到版本控制中。相当于一个简单地过滤或忽略功能,忽略掉的文件不会出现在git仓库。

实际项目中,很多文件都是不需要版本管理的,比如编译产生的exe文件和一些包含密码的配置文件等。

演示

  • /.idea/ 忽略项目根目录下.idea文件夹(包括其下收有文件/文件夹)
  • !/.idea/test.txt 不忽略!/.idea/test.txt文件(注意上面一条)
  • *.zip 忽略项目中所有.zip文件
  • /data/error.log 忽略项目中某个具体文件

规则

  • 以斜杠/开头表示目录;
  • 以星号*通配多个字符;
  • 以问号?通配单个字符
  • 以方括号[]包含单个字符的匹配列表;
  • 以叹号!表示不忽略(跟踪)匹配到的文件或目录;

注意事项

.gitignore只能忽略未被纳入版本管理中的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。解决方法就是先把本地缓存删除(改变成未跟踪状态),重新提交。

1
2
3
git rm -r --cached .
git add .
git commit -m 'update .gitignore'