如何创建拉取请求和/或将拉取请求发送到托管在GitHub上的另一个存储库?
如何创建拉取请求和/或将拉取请求发送到托管在GitHub上的另一个存储库?
Answers:
(除了官方的“ GitHub帮助'使用拉取请求'页面 ”外,
另请参阅“ GitHub的分支与分支 ”,“ GitHub的源和上游有什么区别 ”)
假设您首先创建了一个仓库,这是您拥有的那个分支中应该做的事情:
master
,因为您可能会试图一次累积并混合多个修改。origin/master
(确保您的补丁仍在工作)会自动更新拉取请求(无需单击任何内容)git remote prune origin
)。GitHub GUI将建议您在拉取请求页面中删除分支。注意:要编写 Pull-Request本身,请参阅“ 如何编写完美的Pull Request ”(2015年1月,GitHub)
2016年3月:新的PR合并按钮选项:请参阅“ Github squash在评论评论后通过Web界面在请求请求上提交? ”。
回购的维护者可以选择merge --squash
那些PR提交。
关于最后一点,自2013年4月10日起,“ 重新设计了合并按钮 ”为您删除了该分支:
合并后删除分支也得到了简化。
无需执行额外的步骤来确认删除,我们会在删除分支后立即删除该分支,并提供方便的链接来在您再次需要该分支时还原该分支。
这证实了合并合并请求后删除分支的最佳实践。
拉取请求不是官方的“ git”术语。
Git使用request-pull
(!)命令来构建合并请求:
它“总结两次对标准输出的提交之间的更改,并在生成的摘要中包括给定的URL。”
Github 从第一天(2008年2月)开始发布自己的版本,但在2010年5月重新设计了该功能,并指出:
Pull Request = Compare View + Issues + Commit comments
<humour>
GitHub甚至没有正确定义(拉取请求)!
幸运的是,一个真正的商业新闻机构会知道的,并且有一个电子注释,目的是用“电子注释”代替拉动替换:
所以,如果你的回购Ø保守党需要一个电子笔记... 问问福克斯商业。他们知道。
</humour>
branch
与master
决定似乎是一个关键的一年抢了我的/ GitHub的答案从理论解决一些人会真正使用。
git pull --rebase upstream/master
确实可以。
为了学习如何发出拉取请求,我在Github上跟踪了两个单独的帮助页面(下面链接为要点)。以下命令行命令适用于第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
git clone->cd dwolla-php->git remote->git fetch
上面的序列以在您的计算机中的某个地方克隆您的fork(例如,将其“复制/粘贴”到):third_party TimPeterson$
),并将其与主仓库同步(Dwolla / dwolla-php)git add->git commit->git push
上面的序列将您的更改推送到远程存储库,即您在Github上的fork(tim-peterson / dwolla-php)第2部分:进行拉取请求:https : //help.github.com/articles/using-pull-requests
Tims-MacBook-Pro:third_party TimPeterson$
因为这是初学者的教程,并且这些提示有助于定向用户。
git fetch upstream
,您是否不需要使用git checkout master
then 将上游更改与本地副本合并git merge upstream/master
?
为了发出拉取请求,您需要执行以下步骤:
我花了一段时间才弄清楚这一点,希望对您有所帮助。
我已经启动了一个项目,以帮助人们提出他们的第一个GitHub拉取请求。您可以在这里进行动手教程,以进行首次公关
工作流程很简单
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
按钮对于拥有github.com帐户但只在命令行中输入“ git”时收到讨厌的错误消息的我们来说,这是在浏览器中完成所有操作的方法:)
我按照tim peterson的指示进行操作,但是我为更改创建了一个本地分支。但是,在推送之后,我没有在GitHub中看到新分支。解决的办法是在推命令中添加-u:
git push -u origin <branch>
tim-peterson
第二个是Dwolla