0

我团队中的每个开发人员在其本地工作副本的根目录中都有一个 .idea 文件。有人在他们的全局 .gitignore 中没有它(并且它不在任何其他 .gitignore 中),所以他们不小心将它提交给了我们的远程仓库。现在它正在被跟踪。

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

实现这一目标的规范或最佳实践方法是什么?

4

1 回答 1

0

正如@ThorbjørnRavnAndersen 所说,提交和跟踪文件的位置可以恢复。我对恢复提交不是很有经验,所以我会有点害怕,如果在那之后有几个重要的提交。然而,一个有经验的 git 用户不应该有这个问题。因为我不是我会XD。当我将许多文件上传到我不想跟踪的存储库时(由于 gitignore 处理不佳),我成功地做的一件事是使用已删除的文件和更新的 .gitignore 为存储库设置新的原点,然后设置新的上游来源到您的本地分支,因此您的本地仓库现在将根据新来源进行跟踪。综上所述,mi point就是根据你想要的状态将repo上传到云端,并设置新的origin。找到链接:

https://help.github.com/en/articles/changeing-a-remotes-url

也许它是一个菜鸟解决方案,但是对我来说就像一个魅力,并且由于项目不大,修复不是很耗时,此外,如果可能有任何问题,您可以将原始存储库/来源作为备份. 希望有帮助

于 2019-10-04T15:40:14.250 回答