繁体   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