如何获取别人的拉取请求(修复它)

时间:2014-01-21 10:11:11

标签: git github

我们是一个程序员团队。

我们有一个项目的主要回购。

我们团队中的一位程序员向该回购提出了拉取请求。

我需要解决他的拉动请求。而且我不是主要的回购所有人。

我如何获取他的代码?

当我去他的账户时 - 我没有看到那个回购的分支(可能是私有的)。

它是这样完成的吗?:

$ git remote add <name> <source> # for <source> - link to his pull request
$ git fetch <name>
$ git merge <name>/<branch>

2 个答案:

答案 0 :(得分:4)

  1. 添加远程指向其他程序员repo / branch:

    git remote add ...
    
  2. 创建其他分支名称:

    git branch other_branch
    
  3. 将分支更改为其他分支:

    git checkout other_branch
    

    注意:当然您可以将命令加入到单行中的前一个命令中:

    git checkout -b other_branch
    
  4. 拉其他来源提交:

    git pull other_source other_branch
    
  5. 修复他的代码;

  6. 添加并提交更改:

    git add
    git commit
    
  7. 然后将更改推送到他的分支,这样它们就会自动添加到 pull-request 中,然后接受请求

    如果访问权限未经授权,您必须在修复代码之前合并更改,然后将代码合并到主开发分支中,并将更改推送到repo。但是你要取消 pull-request

答案 1 :(得分:0)

简单

git fetch origin pull/<pull-request-id>/head:<local-branch-name>
git checkout <local-branch-name>

如果您使用的不是主存储库,则需要将主存储库添加为另一个远程存储(此处称为upstream),然后从该远程存储获取:

git remote add upstream git@github.com:whoever/whatever.git
git fetch upstream pull/<pull-request-id>/head:<local-branch-name>
...

(注意:在这种情况下,您显然无法将提交推送到拉取请求中)