从GitRepo中删除现有文件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我希望git停止在我们的存储库中跟踪本地开发日志(log/development ment.log)。这有可能吗?我该怎么做?

提问于
用户回答回答于

就为了立刻给出完整的答案:

  1. Klemens:需要将该文件添加到您的.gitignore在回购中的不想要的文件之上的某个地方存档。 $cd$cat>>.gitignore Development.log C-d
  2. 从M.Narebski:然后,需要通过执行“git rm --cached <file>然后再执行这个移除”

如果还希望回购看起来像它从未跟踪过该文件,那么这将更加复杂和沮丧,因为它不仅为历史上的每一次提交创建了全新的提交,从而以一种恶劣的方式破坏了克隆回购的其他人之间的互操作性,而且还使所有这些提交都没有经过测试(假设在编写之前对提交进行测试)。

考虑到这一点,如果你的目标是filter-branch。第一个例子做的正是我所描述的。

用户回答回答于

要停止跟踪文件,只需使用git rm --cached <filename>.

但是,正如这里的其他人所指出的,将文件添加到.gitignore可能会防止以后意外地再次添加它。

扫码关注云+社区