1. 问题描述
如果一个工程一开始使用了git管理了文件,然后这个时候工程编译出来了一个文件,此时忘记加.gitignore
就直接使用git add .
继续追踪文件了,这样就把工程编译出来的文件也跟踪了。如果后来发现了,想取消跟踪这些文件,单纯的编辑.gitignore
文件发现没有(传到github到就能看出来)。原因是.gitignore
只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore
是无效的。
2.解决办法
解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交。
- 删除本地git缓存
git rm -r --cached .
- 重新追踪文件
git add .
git commit -m 'update .gitignore'
git pudh