“git request-pull”和“pull request”的区别

jsc*_*sse 8 git version-control github pull-request

是什么git request-pull,它是如何比较制作pull request,例如在GitHub上

1.它应该如何使用?

2.可以代替pull request吗(比如在github上)?

3.使用它有什么好处?

tor*_*rek 8

git request-pull命令早于托管服务。正如评论中所指出的,它适用于倾向于包括运行git format-patchgit send-email通过电子邮件传递补丁的工作流。一旦补丁经过测试和批准,补丁生成器可能会在他们或他们公司提供的公共服务器上访问提交,并向项目维护者发送最终的电子邮件消息,宣布他们已经清理、重新定位、等,准备合并的项目主题。

例如,假设一个名叫 Phil Systeme 的人有一个文件系统的 Linux 内核补丁。他有一个 Linux 内核树的克隆,从一些 Linux 版本开始。他的补丁包括对十几个文件的一次巨大提交,他将这些文件发送到文件系统维护列表,主题行如下:

PATCH: make the foo file system better
Run Code Online (Sandbox Code Playgroud)

文件系统维护邮件列表上的反馈首先说:将其分成至少六个较小的部分。Phil Systeme 将他的 Phile System 补丁分解为八个逻辑上较小的补丁,每个补丁都做一些有用的事情并且仍在构建。这次他发出了9条消息:

[PATCH v2 0/8]: make the foo file system better

(description of what the patch series is about)

[PATCH v2 1/8]: split up the xyzzy function

As a prerequisite for improving the foo file system, break
a large function into several smaller ones that each do one
thing.  We'll use this later to work better and add new features.

[PATCH v2 2/8]: ...
Run Code Online (Sandbox Code Playgroud)

这一次,他得到反馈说它看起来更好,但他忘记说明 ARM cpu 需要一个特殊的东西而 MIPS CPU 需要不同的特殊东西。所以他发出第三轮[PATCH v3 m/n]消息,依此类推。

最终,文件系统维护副官同意应该加入这个补丁。现在 Phil 或副官将通过电子邮件发送的补丁转换为实际的 Git 提交,应用于当前的开发内核,或维护内核,或其他任何东西。在这一点上,Linus Torvalds 足够信任这个人,这个人可以说:“这是一个 Git 存储库,其中包含您应该添加到内核中的新提交。” 然后,Linus 可以git pull直接从这个其他存储库中,或者更有可能git fetch从那里决定是否以及如何合并它们,或者是否侮辱这个人。:-)


像 GitHub 和 Bitbucket 这样的托管服务声称、感觉或任何你喜欢的动词在这里,他们的“拉取请求”机制优于所有这些电子邮件。在某些方面,它很明显是;但是他们对隐藏实际提交图的热情,如果你要使用真正的合并,这真的很重要,对我来说有点神秘。

  • 您好,谢谢您的回答。“隐藏实际提交图”是什么意思?补丁生成者是谁或是什么?如果这些问题感觉很愚蠢,我很抱歉,但是仅了解 git 与 github 的结合,这为我打开了一个新世界。 (2认同)