Git:什么是悬挂提交/ blob,它们来自哪里?

我正在寻找悬挂提交和blob的基本信息。

我的回购看起来很好。 但我第一次运行git fsck ,看看它做了什么,我有一长串'晃来晃去的斑点'和一个'悬挂提交'。

这些是什么? 哪儿来的呢? 他们是否指出我回购的状态有什么不寻常的(好的或坏的)?


在使用你的git仓库的过程中,你最终可能会退出操作,并采取其他措施来引起中介blob,甚至git会帮你避免信息丢失。

最终(有条件地,根据git gc手册页)它将执行垃圾回收并清理这些东西。 你也可以通过调用垃圾收集进程git gc来强制它。

有关更多信息,请参阅git-scm站点上的维护和数据恢复。

GC的手动运行默认会在运行此安全网命令前的2周左右。 实际上,偶尔运行GC有助于确保您的git存储库的高性能使用。 但是,像任何事情一样,在破坏那些对你很重要的事情之前,你应该明白它在做什么。


晃来晃去blob =这是一个变化,使它到临时区域/索引,但从未承诺。 有一件令人惊讶的事情是,一旦它被添加到暂存区域中,你总是可以恢复它,因为这些blob的行为像提交一样,他们也有一个哈希!

悬挂提交(Dangling commit) =未直接链接到任何分支或标记的提交,或者其任何直接链接的提交。 你也可以拿回来!


HOWTO从http://www.tekkie.ro/news/howto-remove-all-dangling-commits-from-your-git-repository/从你的git仓库中删除所有悬而未决的提交

git reflog expire --expire=now --all
git gc --prune=now

确保你真的想删除它们,因为你可能会认为你需要它们。

链接地址: http://www.djcxy.com/p/25265.html

上一篇: Git: what is a dangling commit/blob and where do they come from?

下一篇: Default behavior of "git push" without a branch specified