GitHub垃圾收集拉取请求中引用的悬空提交吗?

时间:2013-03-07 02:17:07

标签: git github branch

以下情况不时出现......

  

git checkout -b experiment,提交一些实验性更改,并打开拉取请求。经过一番讨论后,拉取请求被拒绝。

如果我现在要删除远程分支,是否会在某些时候渲染差异,或者GitHub是否确保拉出请求中出现的提交不会被垃圾收集,即使它们没有出现在任何分支上? / p>

我想删除死分支,但只有这样做才不会减少拒绝请求的历史价值。

1 个答案:

答案 0 :(得分:24)

不,他们不会是gc的,因为即使你删除了你的分支,它们也不会被完全取消引用。

Github为每个拉取请求创建一个分支(实际上是两个)。它们位于非默认命名空间中,因此当您从存储库中提取(或获取)时,通常不会获取它们。

要了解这在实践中的效果,请执行git ls-remote <REMOTE>,其中<REMOTE>是遥控器的名称(如果它是您的回购知道的名称)或URL(它不需要git remote add为此工作)。这个遥控器应该有一些拉动请求,否则你将无法看到我的意思。

这将列出远程(所有分支和标签)上的所有引用,您会看到一些引用,例如refs/pull/<number>/headrefs/pull/<number>/merge。这些引用分别是PR中的最新提交和它合并的提交。