0

当我最近尝试将我的提交推送到 github 时,我收到了与这个问题相同的错误消息。我从存储库中删除了文件,但现在必须清理历史记录。正如我在答案中所建议的那样,我研究了 BFG,这似乎是解决方案。在阅读说明时,它从 using 开始git --mirror link-to-remote-repo

现在我想知道,因为我还不能推送最新的提交,而且我的本地提交历史可能比 github 上的要长。此外,我不确定我所做的所有工作都是在分支上而不是在 master 上,以及它如何影响我的存储库。

4

1 回答 1

0

手动解决方案(基于cheery pick

编辑:在您开始之前,请提交或存储您的本地更改。

假设我们有两个分支masterdev它们有共同的 SHA1 = X 提交。分支dev包含提交 A1、A2、...、A16

  • git checkout dev
  • git checkout -b new-dev
  • git reset --hard X

对于dev(A1, ..., A16) 中的每个提交:

  • git cherry-pick A1 --no-commit
  • 检查你的索引git status
  • 从索引中删除有问题的二进制文件git reset HEAD myfolder/mybinary.rpm
  • 删除文件git rm myfolder/mybinary.rpm
于 2016-11-28T07:25:15.517 回答