Git:变基和删除过时的分支是否会丢失提交数据



参考 Git 网站上的 Git Pro 书中的这个特定示例,我有一个关于变基的问题:

当最终历史记录如图 43 所示并且名为"client"和"server"的分支被删除时,三个提交 C3、C4 和 C10 会发生什么?这些提交是否不再可以从 git 的数据库中检索到?

我意识到这些提交中引入的更改将以 C3'、C4' 和 C10' 提交的形式重播到主分支上。

我很想知道原始提交是否在变基后丢失,因为它们不再记录在历史记录中。

谢谢。

提交 C3、C4 和 C10 在变基后不会丢失。 它们仍然存在于您的本地 git 存储库中,但它们已变得"无法访问"。 这意味着不再有任何来自命名引用(HEAD、分支、标签等(的路径指向这些提交。 作为垃圾回收过程的一部分,Git 最终会删除无法访问的提交,但默认设置是删除超过两周的提交。

在 git 实际清理这些提交之前,您可以继续通过提交 id 引用它们。 您可以通过创建新分支使其再次可访问,如下所示:

git checkout -b newbranch C10

最新更新