我有2个问题,删除分支,标记和git的gc。
假设我有一个项目,我正在维护2个不同版本的软件。假设我在其中一个版本中创建了许多标签。现在让我们说我知道更长时间需要为这个版本开发一条开发线,因为它已经不再支持了,但我仍然希望保留它以用于历史目的。所以我在这个分支的HEAD创建一个标签,然后删除分支。
现在第一个问题,假设git的gc不会删除这些提交是安全的,因为我仍然有引用/必须提交的标记是树吗?
现在让我们说2年后,我不再需要甚至需要访问该代码,所以我删除了标签。
我的第二个问题,既然我不再有任何标记/分支在他们的历史记录中引用/拥有这些提交,那么git的gc会完全删除那些提交(无论它设置为什么时间间隔)?
答案 0 :(得分:3)
现在第一个问题,假设git的gc不会删除这些提交是安全的,因为我仍然有引用/必须提交的标记是树吗?
正确 - 因为标签仍引用该提交行,所以它们不会被丢弃。
我的第二个问题,既然我不再有任何标记/分支在他们的历史记录中引用/拥有这些提交,那么git的gc会完全删除那些提交(无论它设置为什么时间间隔)?
是的,因为不再提及它们,所以最终会收集它们。