[英]Problem with git reset on rolling back to the previous commit
我無意中提交了不需要的巨大文件夾,並將其推入git的主目錄。 之后,我又提交了一個。 所以它是這樣的
A B C D
C-是有問題的提交
意識到錯誤后,我使用了命令
git reset --hard <sha1-commit-id-of-B>
和
git push origin HEAD --force
可以回滾到B。這很好,但是倉庫的大小仍然相同。 我很困惑。 我如何才能永久刪除不需要的文件,因此它不會出現在git上?
即使您以這種方式向后移動分支指針, git
也不會立即垃圾收集現在不再被引用的對象。 這是一件好事-例如,這意味着,如果您錯誤地執行git reset --hard
,則可以輕松恢復舊的提交,通常可以使用reflog
查找這些提交的對象名稱,然后創建一個從其中之一分支。 如果您真的想立即進行垃圾回收以回收空間,則可以執行以下操作:
git gc --prune=now
但是,幾乎沒有人需要這樣做...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.