更改.gitignore时,是否所有开发人员都需要运行`git rm --cached <path>`?</path>

时间:2014-12-08 23:17:51

标签: git gitignore git-rm

如果我将已经由Git 跟踪的文件添加到我的.gitignore,我可以直接运行

git rm --cached <path>

应用新规则。我将其推送到服务器,服务器将不再接收我的更改。我是否必须告诉开发团队中的每个人他们需要运行git rm命令以确保没有人将更改推送到新文件?

1 个答案:

答案 0 :(得分:3)

  

我是否必须告诉开发团队中的每个人他们需要运行git rm命令以确保没有人将更改推送到新文件?

简短回答

没有。您所要做的就是提交并推送到远程。

详细答案

如果你想开始忽略已经被Git跟踪的文件,你确实需要

  1. .gitignore
  2. 中为其添加条目
  3. 运行git rm --cached <path>以停止跟踪文件(Git无法忽略当前正在跟踪的文件)。
  4. 现在,如果您提交并推送到远程,则将不再在远程仓库中跟踪相关文件。因此,在您的协作者将来自遥控器的最新更改合并到他们自己的本地存储库中之后(例如通过拉动),相关文件也将不再在他们自己的存储库中被跟踪。因此,他们需要运行

    git rm --cached <path>
    

    此外,由于your .gitignore is part of the repository(即由Git跟踪),您的协作者甚至不需要为相关文件添加条目;该条目已经在.gitignore中,作为您已更改的一部分,它们已合并到自己的本地回购中。

    当然,假设在你推动之后没有人进行强制推动(有可能消除你的改变)......