如何取消Git文件的跟踪
问题
比如我有个.idea文件夹,在初始化的时候把它加到了仓库里,但是后来我想从远程仓库删掉它。但是它包含了idea的设置,我又不想从本地删掉它,怎么办
解决方法
用git rm --cached命令,比如我要取消跟踪.idea文件夹,就用git rm --cached -r .idea,然后再提交一次就好了。
这样一来.idea文件夹还在本地,但是不会被Git跟踪了,它也会从远程仓库里消失。
两个注意点
- 取消跟踪后
.idea会变成未跟踪状态(git status里显示?? .idea/),记得把它加进.gitignore,否则以后还可能被误提交。 - 其他协作者拉取这次提交后,他们本地的
.idea文件夹会被 Git 直接删掉(因为对他们来说这就是一次普通的删除文件的变更)。如果里面有别人的本地配置,要提前打个招呼。