从git历史记录中删除大文件?

4
我们有一个远程git仓库,其中没有文件大小限制,我们曾经将一个300MB的文件推送到该仓库中。随后我们意识到了这个问题并将该文件从仓库中删除。
同时,这个仓库也被添加到了github上。当我们试图将更改推送到github时,就会出现大文件错误提示。
remote: error: File dir/filename is 312.27 MB; this exceeds GitHub's file size limit of 100 MB

为了解决这个问题,我尝试使用交互式的git rebase解决方案,在 如何从Git存储库中的提交历史记录中删除/删除大文件? 中提出,但在重新基础操作结束时,当我执行git status时,我最终得到以下结果。
[18:10:35] $ git status
On branch master
Your branch and 'origin/master' have diverged,
and have 8 and 24 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

如果我使用 git pull,那么我所删除的所有更改都会被带回 git 存储库。我该如何解决这个问题?
1个回答

2
如果我理解正确,你希望在变基之后执行 git push -f origin 而不是 git pull。这将按照预期重写远程仓库的历史记录。 注意:强制推送到共享存储库可能会删除其他人的更改,并且应该在与所有有访问权限的人协商后才能进行。 此外,我建议确保您可以在未来访问 origin/master 的被丢弃的历史记录(通过标记或类似方式),直到每个人都同意变基工作正常为止。

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