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