Git:重定基址和删除过时分支是否会丢失提交数据?

Git:重定基址和删除过时分支是否会丢失提交数据?,git,version-control,rebase,data-loss,Git,Version Control,Rebase,Data Loss,我有一个关于重新定基的问题: 当最终历史如图43所示出现并且名为“client”和“server”的分支被删除时,三个提交C3、C4和C10会发生什么情况?这些提交是否不再可以从git的数据库中检索 我意识到这些提交中引入的更改将以C3',C4'和C10'提交的形式重播到主分支上 我很想知道原始提交是否在重新基址后丢失,因为它们不再记录在历史记录中 谢谢。重定基址后,C3、C4和C10不会丢失。它们仍然存在于您的本地git存储库中,但它们已变得“无法访问”。这意味着从命名引用(头、分支、标记等)

我有一个关于重新定基的问题:

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

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

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


谢谢。

重定基址后,C3、C4和C10不会丢失。它们仍然存在于您的本地git存储库中,但它们已变得“无法访问”。这意味着从命名引用(头、分支、标记等)到这些提交的路径不再存在。Git最终将删除不可访问的提交作为其垃圾收集过程的一部分,但默认设置是删除两周以上的提交

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

git checkout -b newbranch C10

原始提交对象将丢失,正确。他们引入的更改以及元数据将成为重播的commits.Spot的一部分。谢谢你的澄清。