GitHub:术语:创建拉取请求 vs. 打开拉取请求

4
创建拉取请求和打开拉取请求之间有区别吗?
使用“创建拉取请求”的一些短语示例:
  1. 创建拉取请求以提出和协作更改存储库。
  2. 在创建您的拉取请求时,您可以指定要将更改合并到哪个分支中。
  3. 要创建草稿拉取请求,请使用下拉菜单并选择“创建草稿拉取请求”。
使用“打开拉取请求”的一些短语示例:
  1. 在公共存储库中打开拉取请求,您必须对头或源分支具有写访问权限。
  2. 只能在两个不同的分支之间打开拉取请求。
  3. 打开拉取请求后,您可以与协作者讨论和审查潜在的更改。
P.S. 在我看来,在创建拉取请求之后它变成了:
  1. 已创建。
  2. 其状态自动变为“已打开”。
逻辑上意味着:
  1. 首先必须创建拉取请求。
  2. 然后可以根据需要多次打开(其状态为“已打开”)或关闭(其状态为“已关闭”)拉取请求。
因此,技术上讲,“打开拉取请求”并不意味着“创建拉取请求”。

1
顺便提一下,这些都不是 Git 的东西:它们是 GitHub、GitLab、Bitbucket 等。每个托管站点都有自己特殊的怪癖(大多数人可以忽略),围绕这些事情。 - torek
@torek,感谢您提供的信息!我已将“git”更改为“GitHub”。 - pmor
2个回答

4
“创建拉取请求”和“打开拉取请求”意思是一样的,只是用不同的动词来表示拉取请求(PR)的创建。你可能感到困惑的唯一原因是“open”是拉取请求状态之一。
当你说:
逻辑上来讲,首先必须创建一个拉取请求。
然后一个拉取请求可以被打开(它的状态是打开)或关闭(它的状态是关闭),如有必要,可以多次进行打开或关闭。
这并不一定意味着第一步是创建,第二步是打开拉取请求,而实际上当一个拉取请求被创建或打开时,它的默认状态是“open”。 “状态”是GitHub内部构造,用于管理PR的状态,即它是“open”还是“closed”(“closed”可以表示PR要么“刚关闭”要么“已合并”)。
一个开放的PR可以被关闭或合并,从而将其状态从“open”更改为“closed”
一个已关闭(未合并)的PR可以重新打开,从而将其状态从“closed”更改为“open”。
因此在技术上,"创建拉取请求" 和 "打开拉取请求" 意思是相同的。将一个已关闭但尚未合并的PR打开称为“重新打开拉取请求”。

“当创建或打开PR时,其默认状态为open”这句话的意思是,“当创建PR时”,它会自动变成打开状态,因为“其状态会自动变为open”。因此,“打开pull request”和“创建pull request”意思相同。好的,现在清楚了!还有一个与术语相关的问题:为什么“打开”的状态被命名为“open”而不是“opened”? - pmor

3

没有实质性的区别。

打开或创建一个拉取请求意味着有一个源分支和目标分支(在同一存储库或上游存储库中),这会触发一个查询,以便维护者接受/评论或拒绝该拉取请求。

即使在GitLab中(其中术语为“合并请求”,而不是“拉取请求”),您也会看到:

提交并推送后,您可以单击“创建合并请求”按钮打开“新建合并请求”页面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接