如何使用github UI或命令行将主项目分支的pull请求应用到我的fork?

时间:2016-09-29 03:08:53

标签: git github

我希望应用此拉取请求

https://github.com/MonoGame/MonoGame/pull/5114

https://github.com/Danthekilla/MonoGame

乍一看似乎没有办法做到这一点,有没有办法用TortoiseGit做到这一点?

也许有这样的命令?:

git merge https://github.com/Danthekilla/MonoGame https://github.com/MonoGame/MonoGame/pull/5114

1 个答案:

答案 0 :(得分:1)

您必须指定存储库和分支以在最初创建所述拉取请求时执行拉取请求。 AFAIK,没有任何方法可以编辑现有的拉取请求来执行此操作。

来自GitHub网页用户界面

  1. 转到您要从(https://github.com/Jjagg/MonoGame
  2. 拉出的仓库
  3. 选择要提取的分支(getbackbufferdata
  4. 点击New Pull Request
  5. 如果要拉入的分支未显示在拉取请求创建页面的顶部,则单击“比较叉子”
  6. 在左侧,选择要提取的基本存储库和基本分支
  7. 点击查看提款请求
  8. 从命令行

    $ git checkout develop
    $ git pull https://github.com/Jjagg/MonoGame/getbackbufferdata
    

    Caveat Emptor:我对上述命令中的URL并不是100%肯定。)

    如果您不想直接合并到develop分支,则可以创建要合并的临时分支。例如

    $ git checkout -b jjagg/getbackbufferdata develop
    $ git pull https://github.com/Jjagg/MonoGame/getbackbufferdata
    

    如果您经常需要从属于其他贡献者的GitHub仓库中提取,您可以为所述仓库创建一个遥控器

    $ git remote add jjagg https://github.com/Jjagg/MonoGame
    

    现在你可以直接从这个遥控器拉

    $ git checkout -b jjagg/getbackbufferdata develop
    $ git pull jjagg getbackbufferdata
    

    使用命令行完成所有这一切都变得容易一些。添加遥控器后,您可以键入git pull j,然后按Tab键以完成远程名称。然后在git pull jjagg g Tab后再次完成分支名称。如果两个分支以g开头,则双Tab会显示所有可能的选择。