在项目中,需要排除一些临时文件被提交,需要配置一个“.gitignore”。.gitignore文件,只对新增文件起到过滤作用。
规则
配置语法:
- 以斜杠/开头表示目录;
- 以星号*通配多个字符;
- 以问号?通配单个字符
- 以方括号[]包含单个字符的匹配列表;
- 以叹号!表示不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;但如果前面过滤了,后面还可以被捞回来,这个后面有例子。
示例
- fd1/*
- /*
- !.gitignore
- !/fw/bin/
- !/fw/sf/
- *.zip
问题
gitignore 不起作用的解决办法
要依据实际情况选择合适的解决方案。查看.gitignore文件,看里面是否包含.gitignore。
- 方案一
git rm -r --cached .
git add .
git commit -m 'update .gitignore' //windows 使用的命令是
git commit -m "update .gitignore" 需要使用双引号
后果会把已经提交的被过滤的文件,全部删除。如果你有这样的需求,记得是全部,那么可以这么操作。
- 方案二
修改配置文件.gitignore。先忽略全部,再把当前目录的文件捞回来。(主要针对.gitignore无法提交的问题)
.gitignore
!/gitignore