Git Pull与Pull请求

时间:2014-03-23 00:14:32

标签: git github git-pull

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

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

合并分支进入主分支,我必须请求并随后批准Github上的提取请求

  

调用git pull和发送拉取请求之间有什么区别?

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

3 个答案:

答案 0 :(得分:47)

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

如果您将拉取请求发送到另一个存储库,您会要求他们的维护人员将您的更改提取到他们的中(您或多或少要求他们使用{{1来自您的存储库)。

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

(作为旁注,如果您是Git新手,我建议您使用git pull,然后使用git fetch代替git mergegit pull实际上{ {1}}后跟git pull,但单独执行这些操作会让您更好地控制潜在的冲突。)

答案 1 :(得分:6)

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


git本身也有一个创建拉取请求的命令,专门用于邮件列表。您可以使用git request-pull命令请求生成。事实上,使用此命令需要为某些项目提交拉取请求!该命令的输出类似于此(取from the official git homepage):

$ 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(-)

答案 2 :(得分:0)

Git Pull

远程回购======>本地回购

git pull = Git获取+ Git合并

拉动请求

这是Github的东西。

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

远程github存储库的维护者是否在接受她的拉取请求。