繁体   English   中英

让每个人的git忽略已经跟踪的文件(但不要从存储库中删除)

[英]Make everyone's git to ignore an already tracked files (but don't delete from repository)

所以我可以这样做: 停止跟踪git中的文件(不删除它们)

但这只影响我的git。

在远程存储库中已经跟踪了一些默认设置文件,如何在不删除文件的情况下删除该文件的跟踪? 我不想将它从远程存储库中删除,但是该文件是运行应用程序所必需的,因此任何进行全新安装的人都需要该文件,因此他们应该在执行git clone时拥有该文件。

但是对于开发,任何开发人员都可以对文件进行更改,但是不应该跟踪这些更改,只有默认值应该保留在远程存储库中。

我尝试将文件添加到.gitignore列表,但它不起作用 - 因为它已被跟踪,我认为? 我希望每个人都拥有该文件,但每个人都不应该对文件进行更改。

那我该怎么做?

如何在不删除文件的情况下删除该文件的跟踪?

git rm --cached -- afileToIgnore

它将从Git索引中删除,但会在本地保留在磁盘上。

如果该文件随后被添加到.gitignore ,则git status将不再显示它以进行添加/更改。

但是,这会将文件记录为从Git仓库中删除,这不是您想要的。

因此,实际的解决方案是将相同的文件添加为模板

 copy aFileToIgnore aFileToIgnre.tpl
 git add aFileToIgnre.tpl
 git commit -m "record template value file"

然后声明一个涂抹内容过滤器驱动程序 ,它会自动重新生成该文件(忽略,因为它在.gitignore

https://git-scm.com/book/en/v2/images/smudge.png

smudge脚本(你可以版本)

copy aFileToIgnore.tpl aFileToIgnre

另请参阅“ 如何在回购/项目中跟踪特定于系统的配置文件?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM