我团队中的每个开发人员在其本地工作副本的根目录中都有一个 .idea 文件。有人在他们的全局 .gitignore 中没有它(并且它不在任何其他 .gitignore 中),所以他们不小心将它提交给了我们的远程仓库。现在它正在被跟踪。
我们想再次取消跟踪它,但我们需要将 .idea 文件保留在每台本地机器上。规范的建议是git rm -r --cache .idea
,然后推送到远程,但是虽然这会将 .idea 目录留在运行命令的机器上,但 .idea 仍然会在下次拉取时从其他机器上删除。在许多类似的问题中都提到了这一点,但仅在评论等中提到,并且只有一系列骇人听闻的解决方法,要求每个开发人员采取一些措施来避免删除。这对于一个大型或分散的团队来说是不可行的,并且在任何情况下都感觉不合适,因为唯一的我们想要采取行动的改变是关于回购历史,而不是本地文件系统。将 .idea 目录的跟踪状态恢复到原来的状态 - 未跟踪,git 不理会它。
实现这一目标的规范或最佳实践方法是什么?