.gitignore失效背景:
本地Mac上使用Unity新建了一个项目,使用git init将项目初始化为仓库,此时commit。随后,加入.gitignore文件,再次commit。然后提交整个仓库到Github。
从Win上clone仓库,使用Unity修改项目,发现.gitignore文件中忽略的文件会被跟踪,即.gitignore文件“失效”。
原因:
.gitignore文件是有缓存的,在第一次commit的时候,所有文件都track了,第二次commit加入.gitignore时已经晚了,因此看似“失效”。
解决办法:
可以清除缓存,这个比较麻烦。
简单方法是去项目文件夹里将.gitignore中涉及到的文件全部删除,然后在commit,并push到远程。这样,以后这些文件变化就不会再被track了。
心得:
在git init之前就在项目中准备好.gitignore文件,让.gitignore文件与项目一同初始化,只提交关键项目部分,这样可以保证.gitignore有效,而且仓库干净。