正如我最近試圖將我的提交推送到github,我得到了與question相同的錯誤信息。我從存儲庫中刪除了這些文件,但現在必須清理歷史記錄。正如我在回答中所建議的那樣,我研究了BFG,這似乎是解決方案。在閱讀instructions時,它首先使用git --mirror link-to-remote-repo
。用BFG清理git歷史
現在我想知道,因爲我無法推送最新的提交,可能我的本地提交歷史比github上的更長。此外,我不確定,因爲我所做的所有工作都在分支上,而不是在主數據庫上,以及它如何影響我的存儲庫。
什麼是一個問題嗎? – Ivan
我不明白的是,爲了使用BFG,我應該執行遠程存儲庫的裸副本('--mirror')。但這並不是最新的。那麼這是如何工作的?我清理了遠程鏡像的歷史記錄,但在我上次推送到github後所做的提交中,仍存在有關該文件留在本地存儲庫中的「一些歷史記錄」。 – fukurai
好的。如果您沒有大量更改(提交),則可以手動執行此操作: 檢查基礎提交上的新分支;對於每個提交(來自有問題的分支) - 1)使用命令'git cherry-pick --no-commit'; 2)從索引中刪除有問題的二進制文件(如果存在); 3)commit –
Ivan