当我最近尝试将我的提交推送到 github 时,我收到了与这个问题相同的错误消息。我从存储库中删除了文件,但现在必须清理历史记录。正如我在答案中所建议的那样,我研究了 BFG,这似乎是解决方案。在阅读说明时,它从 using 开始git --mirror link-to-remote-repo
。
现在我想知道,因为我还不能推送最新的提交,而且我的本地提交历史可能比 github 上的要长。此外,我不确定我所做的所有工作都是在分支上而不是在 master 上,以及它如何影响我的存储库。
当我最近尝试将我的提交推送到 github 时,我收到了与这个问题相同的错误消息。我从存储库中删除了文件,但现在必须清理历史记录。正如我在答案中所建议的那样,我研究了 BFG,这似乎是解决方案。在阅读说明时,它从 using 开始git --mirror link-to-remote-repo
。
现在我想知道,因为我还不能推送最新的提交,而且我的本地提交历史可能比 github 上的要长。此外,我不确定我所做的所有工作都是在分支上而不是在 master 上,以及它如何影响我的存储库。
手动解决方案(基于cheery pick
)
编辑:在您开始之前,请提交或存储您的本地更改。
假设我们有两个分支master
,dev
它们有共同的 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