簡體   English   中英

用BFG清理git歷史

[英]cleaning git history with BFG

當我最近嘗試將提交推送到github時,我得到了與該問題相同的錯誤消息。 我從存儲庫中刪除了文件,但現在必須清理歷史記錄。 正如答案中所建議的那樣,我研究了BFG,這似乎是解決方案。 在閱讀說明時,它首先使用git --mirror link-to-remote-repo

現在我在想,因為我還不能推送最新的提交,而且我的本地提交歷史可能比github上的提交歷史長。 此外,我不確定,因為我所做的所有工作都在分支而不是master上,以及它如何影響我的存儲庫。

手動解決方案(基於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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM