[英]remove commits (forever) from git history
根據您的問題,當您跑步時實際會發生什么
git push origin HEAD --force
尚不清楚,但我可以想到至少兩個原因,為什么它可能無法將master
強制推向origin
:
master
分支,並且該分支已經是origin
上的最新分支,或者 HEAD
。 通過運行git checkout master
確保master
確實是當前簽出的分支。 然后運行您的強制推送命令。 或者,在git push
命令中顯式指定master
:
git push --force origin master
那應該做。
如果不需要的提交不再被分支或標簽(即所謂的“松散對象”)引用,則垃圾收集器將自動刪除它們。 默認情況下,GC作用於90天以上的對象。
您仍然可以通過以下方式手動觸發較早的GC:
git reflog expire --expire=now --all
git gc --prune=all
但是,這只會在您的本地存儲庫上起作用,而不會在GitHub上起作用。 GitHub每周運行一次帶有自己選擇的GC,因此,如果您現在要刪除提交,則必須刪除存儲庫,重新創建存儲庫,並在GC清理后將其推送到本地。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.