所以我可以这样做:Stop tracking files in git (without deleting them)
但这只影响我的git。
在远程存储库中已经跟踪了一些默认设置文件,如何在不删除文件的情况下删除该文件的跟踪?我不想将它从远程存储库中删除,但是该文件是运行应用程序所必需的,因此任何进行全新安装的人都需要该文件,因此他们应该在执行git clone时拥有该文件。
但是对于开发,任何开发人员都可以对文件进行更改,但是不应该跟踪这些更改,只有默认值应该保留在远程存储库中。
我尝试将文件添加到.gitignore列表中,但它不起作用 - 因为它已被跟踪,我认为?我想让每个人都拥有该文件,但每个人都不应该对文件进行更改。
那我该怎么做?
答案 0 :(得分:1)
如何在不删除文件的情况下删除该文件的跟踪?
git rm --cached -- afileToIgnore
它将从Git索引中删除,但会在本地保留在磁盘上。
如果该文件随后添加到.gitignore
,git status
将不再显示该文件以进行添加/更改。
但是,这会将文件记录为从Git仓库中删除,这不是您想要的。
因此,实际的解决方案是将该文件添加为模板
copy aFileToIgnore aFileToIgnre.tpl
git add aFileToIgnre.tpl
git commit -m "record template value file"
然后声明污迹 content filter driver ,它会自动重新生成该文件(忽略,因为它在.gitignore
中)
smudge
脚本(可以发布版本)
copy aFileToIgnore.tpl aFileToIgnre
另见" How can I track system-specific config files in a repo/project?"