首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除已删除的git子树文件夹的历史?

如何删除已删除的git子树文件夹的历史?
EN

Stack Overflow用户
提问于 2013-04-09 06:20:23
回答 1查看 3.3K关注 0票数 4

我使用git-subtree添加了一个git存储库。问题是,在使用git-subtree添加存储库之前,我进行了一次硬重置。现在提交历史仍然在存储库中,但是它与master断开了连接。

你知道怎么去掉它吗?我尝试了git rm --cached,但没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-09 17:05:49

要立即删除已经无法访问的提交,您可以使用以下命令:

代码语言:javascript
复制
git reflog expire --all --expire-unreachable=0
git repack -A -d
git prune

git gc不会立即收集无法到达的提交,因为这些(在默认配置中)需要首先过期,然后才不会与其他可到达的提交打包在一起。这会在一段时间后自动发生,或者您可以使用上面的命令强制执行。

还要考虑到对子树提交的任何引用都会阻止它们被收集,这包括分支、标签和reflog引用。请确保您确实没有对这些提交的引用。

这里还有一个关于如何处理不可达提交的更详细的问题:

Garbage collect commits in git

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15890047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档