0

可能重复:
从 Git 历史记录中删除敏感文件及其提交

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

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

从三个本地和远程提交中删除该文件而不会造成最大附带损害的最简单方法是什么?

谢谢你的帮助。我的理论是取消该提交,并可能对其进行修改并强制将其推回。有谁知道我该怎么做?

4

2 回答 2

1

Github 有一个很好的解决此类问题的指南:删除敏感数据

于 2012-10-13T01:32:52.977 回答
0

采用

git filter-branch

通过索引过滤器删除它(文档有这样的例子)。之后,只需强制推送所有受影响的公共分支。您将看到远程跟踪分支复制了所有提交。强制推动将解决这个问题。然后向与您一起工作的任何人发送有关您所做的事情的消息。他们将能够毫无问题地获取和重新定位他们的工作,因为您没有更改他们应该引用的任何内容。

于 2012-10-13T03:22:29.830 回答