以下情况不时出现......
我
git checkout -b experiment
,提交一些实验性更改,并打开拉取请求。经过一番讨论后,拉取请求被拒绝。
如果我现在要删除远程分支,是否会在某些时候渲染差异,或者GitHub是否确保拉出请求中出现的提交不会被垃圾收集,即使它们没有出现在任何分支上? / p>
我想删除死分支,但只有这样做才不会减少拒绝请求的历史价值。
答案 0 :(得分:24)
不,他们不会是gc的,因为即使你删除了你的分支,它们也不会被完全取消引用。
Github为每个拉取请求创建一个分支(实际上是两个)。它们位于非默认命名空间中,因此当您从存储库中提取(或获取)时,通常不会获取它们。
要了解这在实践中的效果,请执行git ls-remote <REMOTE>
,其中<REMOTE>
是遥控器的名称(如果它是您的回购知道的名称)或URL(它不需要git remote add
为此工作)。这个遥控器应该有一些拉动请求,否则你将无法看到我的意思。
这将列出远程(所有分支和标签)上的所有引用,您会看到一些引用,例如refs/pull/<number>/head
和refs/pull/<number>/merge
。这些引用分别是PR中的最新提交和它合并的提交。