如何做一个GitHub拉取请求

我如何创建和/或发送拉请求到GitHub上托管的另一个存储库?


(除了官方的“GitHub帮助”使用pull请求页面“之外,
另请参见“GitHub中的分叉与分支”,“GitHub中的起源与上游之间的区别”)

夫妇提示请求:

假设你首先分叉了一个回购 ,那么你应该在你拥有的那个分支中做什么:

  • 创建一个分支 :隔离分支中的修改。 不要从master创建拉取请求,在那里您可能会一次尝试累积并混合多个修改。
  • 重新分支 :即使你已经从该分支做了一个pull请求,在origin/master之上重新定义它(确保你的补丁仍在工作)将自动更新pull请求(不需要点击任何东西)
  • 更新该分支 :如果您的拉取请求被拒绝,您只需添加新的提交,并/或完全重做您的历史记录:它将再次激活您的现有拉取请求。
  • “关注”该分支 :即,使其主题“紧张”,不要修改数千个类和所有应用程序,只添加或修复定义良好的功能, 保持较小的变化
  • 删除那个分支 :一旦接受,你可以安全地删除你的分支上的那个分支(和git remote prune origin )。 GitHub GUI会建议你在你的请求页面中删除你的分支。
  • 注意:要编写Pull-Request本身,请参阅“ 如何编写完美的请求 ”(2015年1月,GitHub)


    2016年3月:新的公关合并按钮选项:请参阅“Github压缩在审核评论后从Web界面提交请求”。

    壁球

    回购的维护者可以选择合并 - 取得那些PR提交。


    合并请求后

    关于最后一点,自2013年4月10日起,“ 重新设计合并按钮 ”,分支会被删除:

    新合并按钮

    合并后删除分支也被简化了。
    除了用额外的步骤确认删除之外,我们在删除分支时立即删除分支,并提供一个方便的链接,以便在您再次需要分支的情况下恢复分支

    这证实了在合并请求后删除分支的最佳做法。


    拉请求与请求拉

  • 拉请求不是官方的“混帐”术语。
    Git使用request-pull (!)命令来构建合并请求:
    它“总结了两次提交到标准输出的变化,并在生成的摘要中包含给定的URL。”
    Github自第一天起(2008年2月)推出自己的版本,但在2010年5月重新设计了该功能,并指出:

    Pull Request = Compare View + Issues + Commit comments
    

  • 电子备注“reposotory”(原文如此)

    <humour>

    那个(pull请求)甚至没有被GitHub正确定义!

    幸运的是,一个真正的商业新闻机构会知道,还有一个电子笔记,以取代“电子笔记”的取代:

    https://pbs.twimg.com/media/BT_5S-TCcAA-EF2.jpg:large

    所以,如果你的回购Ø保守党需要一个电子笔记... 问问福克斯商业 。 他们知道。

    </humour>


    要了解如何提出拉取请求,我只需在Github上关注两个单独的帮助页面(以下链接为bullet点)。 以下命令行命令用于第1部分第2部分 ,实际的请求,完全在Github的网站上完成。

    $ git clone https://github.com/tim-peterson/dwolla-php.git
    $ cd dwolla-php
    $ git remote add upstream https://github.com/Dwolla/dwolla-php.git
    $ git fetch upstream
    // make your changes to this newly cloned, local repo 
    $ git add .
    $ git commit -m '1st commit to dwolla'
    $ git push origin master
    
  • 第1部分 :分享某人的回购:https://help.github.com/articles/fork-a-repo

  • 点击您想要贡献的回购的'fork'按钮,在这种情况下:Dwolla的PHP回购(Dwolla / dwolla-php)
  • 获取新创建的分支的URL,在这种情况下:https://github.com/tim-peterson/dwolla-php.git(tim-peterson / dwolla-php)
  • 键入git clone->cd dwolla-php->git remote->git fetch序列,以克隆你的计算机的某个地方的分支(即“复制/粘贴”到这个例子中: third_party TimPeterson$ )并同步它与主回购(Dwolla / dwolla-php)
  • 对您的本地回购进行更改
  • 键入上面的git add->git commit->git push sequence将你的改变推送到远程仓库,也就是你在Github上的fork(tim-peterson / dwolla-php)
  • 第2部分 :提出请求:https://help.github.com/articles/using-pull-requests

  • 去Github上你的fork的网页(https://github.com/tim-peterson/dwolla-php)
  • 点击'pull-request'按钮
  • 给拉请求一个名字,填写你做了什么更改的详细信息,点击提交按钮。
  • 你完成了!!

  • 为了提出拉取请求,您需要执行以下步骤:

  • 分叉一个存储库(您想要提出拉取请求)。 只需单击存储库页面上的分支按钮,您将拥有一个单独的github存储库,并以您的github用户名开头。
  • 将存储库克隆到本地计算机。 您安装在本地机器上的Github软件可以为您做到这一点。 单击存储库名称旁边的克隆按钮。
  • 对文件进行本地更改/提交
  • 同步更改
  • 去你的github分叉库,并点击分支按钮旁边的“Compare&Review”绿色按钮。 (按钮有图标 - 没有文字)
  • 一个新页面将打开,显示您的更改,然后单击拉取请求链接,该链接将请求发送给您分叉的存储库的原始所有者。
  • 我花了一段时间才想到这一点,希望这能帮助别人。

    链接地址: http://www.djcxy.com/p/68525.html

    上一篇: How to do a GitHub pull request

    下一篇: Django preventing the loading of django