Git Pull与Pull请求

Jon*_*onn 47 git github git-pull

我是新手使用Git,所以如果这是微不足道,我道歉.我有一个使用Github和EGit设置的私有存储库.

要使用远程版本(本质上是a )更新和合并我的本地存储库分支git pull,我Team > Pull在Eclipse中使用.

要将分支合并主分支,我必须请求并随后批准Github上的Pull请求.

呼叫git pull和发送拉取请求有什么区别?

我已经看到这与Fork and Pull协作开发模型有关,并用于代码审查.我想我理解拉取请求的动机和实用性,但具体到底是什么?

Bru*_*uno 56

如果使用git pull,则将更改从远程存储库中提取到您的更改中.

如果您将拉取请求发送到另一个存储库,则要求他们的维护人员将您的更改提取到他们的中(您或多或少要求他们使用git pull您的存储库中的a).

如果您是该存储库的维护者,那么假设您在该工作流程中扮演两个角色,那么您似乎会变得更加困难.您也可以将您的开发分支本地合并到主分支中,并将该主分支直接推送到您的GitHub存储库.

(作为旁注,如果你是Git的新手,我建议使用git fetch,然后git merge代替git pull.git pull有效地git fetch跟着git merge,但是单独执行它们可以让你更好地控制潜在的冲突.)

  • `git request-pull` 似乎更像是一个“方便”命令,用于呈现您要发送给维护人员的消息,以便他们知道要拉取什么(例如准备好通过电子邮件发送)。它被记录在[这里](http://git-scm.com/book/ch5-2.html):“*当你的工作被推送到你的分支时,你需要通知维护者。这通常被称为拉取请求,您可以通过网站生成它 - GitHub 有一个“拉取请求”按钮,可以自动向维护者发送消息 - 或者运行 git request-pull 命令并手动将输出通过电子邮件发送给项目维护者。*” (5认同)
  • 并非如此,您可以在存储库中拥有多个分支。实际上没有“主”存储库的概念,而是维护者/官方存储库的概念(它更多是一个管理概念)。GitHub上的“ Forking”将存储库克隆到您的帐户中,因此您有一个单独的存储库来发布更改,并邀请主存储库的维护者(通过拉取请求)拉出您的更改。拉取请求主要是用于管理协作的GitHub(或Gitlab / Gitorious)概念,与Git本身并没有直接关系。 (2认同)
  • 这就说得通了。所以它似乎主要适用于去中心化的开源项目。在另一个答案中@TimWolla 提到了“git request-pull”命令。这不是一个标准的 Git 功能吗? (2认同)

Tim*_*lla 7

一个拉请求请求存储库的维护者git pull在某些变化(如名字已经暗示).GitHub提供了一个易于使用的附加界面,简化了对此类请求的审核.
不需要使用它来合并某个分支.但您可以使用它,重新检查是否所有更改都已准备好合并可能会有所帮助.如果您不想要或不需要额外的安全性,您可以简单地git merge分支.


git它本身也有一个创建拉取请求的命令,专门用于邮件列表.您可以使用git request-pull命令请求生成.事实上,使用此命令需要为某些项目提交拉取请求!该命令的输出看起来与此类似(取自官方git主页):

$ git request-pull origin/master myfork
The following changes since commit 1edee6b1d61823a2de3b09c160d7080b8d1b3a40:
  John Smith (1):
        added a new function

are available in the git repository at:

  git://githost/simplegit.git featureA

Jessica Smith (2):
      add limit to log function
      change log output to 30 from 25

 lib/simplegit.rb |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
Run Code Online (Sandbox Code Playgroud)


Asi*_*sif 5

git拉取

远程仓库======>本地仓库

git pull=Git 获取 + Git 合并

请求请求

这是 Github 的事情。

远程 Github 存储库<========从 =====您的 Github 存储库拉取请求

远程 github 存储库的维护者是否会接受你的 Pull 请求,取决于她。