如何让所有Git用户忽略已跟踪文件且不删除仓库文件
解决远程保留配置文件但本地忽略修改的问题
我完全懂你的需求——既要让新克隆项目的人能拿到默认配置文件顺利跑起应用,又要自己开发时改了配置不被Git跟踪,还绝对不能把远程仓库里的文件删掉对吧?刚好有个精准的操作流程:
第一步:停止Git对该文件的跟踪,但保留本地和远程文件
运行这个命令:git rm --cached <你的配置文件名>这里的
--cached参数是核心,它只会把文件从Git的跟踪索引里移除,本地的配置文件原封不动,远程仓库里的文件也不会被删除(因为我们还没推送变更)。第二步:把配置文件加入
.gitignore
打开项目根目录的.gitignore文件(没有的话直接新建一个),添加一行:<你的配置文件名>这样Git就会彻底忽略这个文件的任何本地修改,再也不会提示它有变更了。
第三步:提交并推送变更
把.gitignore的修改和刚才的跟踪移除操作一起提交:git add .gitignore git commit -m "Stop tracking <配置文件名> while keeping it in remote" git push推送之后,远程仓库里的配置文件依然存在,但Git已经不再跟踪它的变更了。
给团队成员的小提醒
如果你的项目有其他开发者,他们需要在自己的本地仓库也执行一次git rm --cached <你的配置文件名>,这样他们的本地也会停止跟踪这个文件,之后修改配置就不会被Git检测到啦。
内容的提问来源于stack exchange,提问作者Farid




