[英]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 gc
和git prune
。
例如,參見這個SO問題:
git gc --aggressive vs git repack
您可能還需要清除您的reflog:
git gc --aggressive --prune = all不會從存儲庫中刪除大文件
再說一遍:reflog就像一個巨大的撤銷堆棧; 如果你扔掉它的內容,不再是undos。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.