从本地和远程的几个提交中删除一个文件

时间:2012-10-13 01:30:46

标签: git

  

可能重复:
  Remove sensitive files and their commits from Git history

我注意到由于服务器的移动,无论出于什么原因......我不小心提交了一个被git忽略了几个月的文件。毋庸置疑,我不希望它成为回购的一部分。

不幸的是我在三个不同的提交中将此文件推送到我的远程仓库。

在没有最大附带损害的情况下从三个本地和远程提交中删除该文件的最简单方法是什么?

感谢您的帮助。我的理论是推动这一承诺,也许可以对其进行修改并强行推回。有谁知道我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

Github有一个很好的指导来解决这样的问题:Remove sensitive data

答案 1 :(得分:0)

使用

git filter-branch

通过索引过滤器删除它(文档中有这样的例子)。在那之后,只需要推动所有受影响的公共分支机构。您将看到远程跟踪分支复制所有提交。推力将解决这个问题。然后向与您合作的任何人发送有关您所做的事情的消息。他们将能够毫无问题地获取和改变他们的工作,因为你没有改变他们应该引用的任何东西。