2014-05-09 21 views

回答

3

当没有分支引用它们时,提交将不会在git log中显示,但它们保留一段时间以防止意外丢失工作。有几个安全层:

  • 承诺只考虑过垃圾收集,如果他们不再引用。这通常发生在如果只有一个分支/ ref引用它们,并且您删除该ref。
  • 除非配置不同,Git会保留日志分公司的老态(“引用日志”)。 Reflog条目最终会过期,但要受到可配置的年龄阈值的限制(实际上有两个:reflog条目包含可从分支的当前状态到达的东西,另一个用于不再从分支可到达的东西;默认情况下后者是30天)。在此之前,git gc会保留您的reflog条目,并且不会删除通过这些reflog条目仍然可以访问的提交。
  • 即使强制清除推荐日志,git gc仍然会保留对象,如果它们是在不到两周前创建的(默认情况下是可配置的)。
  • 毕竟,当你运行git gc对象被物理删除。

要查看推荐日志,请尝试git log -g SOMEBRANCH

3

是的,他们从git的日志消失,不,他们不从资源库中消失,直到后来git gc(垃圾收集器)命令。

你仍然可以找到使用git reflog命令这些提交。

相关问题