簡體   English   中英

有沒有辦法從git存儲庫中完全刪除提交以節省一些空間?

[英]Isn't there any way to completely remove commits from a git repository to save some space?

我想要一種方法從git存儲庫中刪除(真正刪除)提交或分支,除了節省空間,我試圖使用'git branch -d branch-name'刪除分支或'git reset Head~ --hard'但是只是刪除或移動分支頭,仍然存在提交,我可以將分支頭重新分配給任何提交。

沒有刪除整個存儲庫文件夾並重新初始化,有沒有辦法做到這一點?

Git圍繞你的動作建立了一個很好的安全網,一旦進入一個真正的行動,你的腳就會被淹沒。 強烈建議不要在日常工作流程中執行您想要執行的操作。

話雖如此:您正在尋找的命令是git gcgit prune

例如,參見這個SO問題:
git gc --aggressive vs git repack

您可能還需要清除您的reflog:
git gc --aggressive --prune = all不會從存儲庫中刪除大文件

再說一遍:reflog就像一個巨大的撤銷堆棧; 如果你扔掉它的內容,不再是undos。

暫無
暫無

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

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