如何从git的跟踪列表中移除文件?

31

我有一个名为config-dev.php的文件,用作开发版本配置。

现在,另一个开发人员想要在这个文件中进行自己的更改。

当他提交时,该文件被提交并且我的config-dev.php文件被覆盖。这个文件在.gitignore中, 但仍然不起作用。

我该如何将此文件从git索引中删除,以便每个人都可以拥有自己的config-dev.php?

我尝试过git rm --cached config-dev.php,但它仍然没有起作用。这个命令应该由所有同事执行吗?或者我应该在git rm之后同步?


1
很奇怪。在执行 git rm 后,您是否进行了 commitpush 操作?此外,这是 此帖子 的重复,尽管那里没有明确说明需要 commitpush 更改。 - houtanb
1个回答

52
  1. 从跟踪中删除该文件:

git rm --cached config-dev.php && git commit -m "config-dev.php"
  • 将其添加到.gitignore文件中

    echo config-dev.php >> .gitignore
    git add .gitignore
    git commit -m "adding config-dev.php to .gitignore"
    
  • 发布这些更改

  • git push
    
  • 在您的同事的计算机上获取新的配置

  • git pull
    

    完成

    当你的其他开发者因她的config-dev.php中的更改在pull时出现错误时,她应该先复制本地的更改,然后将文件重命名后再进行推送:

    cp config-dev.php my-config-dev.php
    git checkout config-dev.php
    git pull
    mv my-config-dev.php config-dev.php
    

    谢谢,这似乎有效! :) - MilMike

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接