开始在工作中使用git后,还是与到了好多实际问题,比如想忽略默认文件(文件夹),但是网上搜索后,按照描述添加了.gitignore文件,但是没有生效,继续搜索找到原因如下:
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
1 | git rm -r --cached . |
.gitignore 文件的用途,该文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效
顺便记录下,.gitignore文件还可以指定要将哪些文件添加到版本管理中:
1 | !*.zip |
唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。