我想要一种从git存储库中删除(真正删除)提交或分支的方法,除了节省空间之外,我试图使用' git branch -d branch-name'删除分支或' git reset Head~ - hard'但是只是删除或移动分支头,仍然存在提交,我可以将分支头重新分配给任何提交。
没有删除整个存储库文件夹并重新初始化的方法吗?
答案 0 :(得分:3)
Git在你的行动周围建立了一个很好的安全网,一旦进入一个真正的行动,你的脚就会被淹没。强烈建议不要在日常工作流程中做你想做的事。
话虽如此:您要查找的命令是git gc
和git prune
。
例如参见这个问题:
git gc --aggressive vs git repack
您可能还需要清除您的reflog:
git gc --aggressive --prune=all does not remove big file from repository
再次:reflog就像一个巨大的撤销堆栈;如果你把它的内容扔掉了,就不要再使用它了。