当我们使用交互式变基时,原始提交会发生什么?

4
我正在尝试交互式变基。假设我有一个具有6个提交的线性主分支,并且HEAD位于第6个提交上,然后我运行git rebase -i HEAD〜4,则允许我选择/编辑/拆分/压缩HEAD和最后3个提交。
一旦我执行任何操作并完成变基操作,它会在HEAD~4之上重新播放提交。现在,它们具有新的提交ID,并且head指向最近的(picked)提交。
我想知道原始提交到底发生了什么?它们被删除了吗?还是可以恢复?
1个回答

5
当提交不再被分支或标签引用时,它通常仍然存在于reflog中。
但是,当连reflog也清除了,并且提交根本没有被引用时,它就成为垃圾收集的候选对象,并最终被删除,这取决于您的gc配置

2
需要注意的是,这几乎从不会立即发生。实际上,提交非常可用,并且长时间存在。 - Mad Physicist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接