30

时不时会出现以下情况……</p>

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

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

我想删除死分支,但前提是这样做不会减少被拒绝的拉取请求的历史价值。

4

1 回答 1

36

不,它们不会是 gc,因为即使您删除分支,它们也不是完全未被引用的。

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

要查看它在实践中的样子,请执行 a git ls-remote <REMOTE>,其中<REMOTE>是远程的名称(如果它是您的 repo 知道的)或 URL(它不需要git remote add为它工作)。这个遥控器应该有一些拉取请求,否则你将无法理解我的意思。

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

于 2013-03-07T10:54:38.863 回答