如何在github上推送拉取请求?

时间:2013-03-20 17:23:39

标签: git github pull-request

我已将此添加到我的.git/config文件中:

fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

这允许我拉下拉请求差异,但是当我检查它时它实际上创建了一个具有相同名称的分支。有没有办法让我推送到pr/2并让它实际转到拉取请求而不是去一个名为pr/2的新分支?

4 个答案:

答案 0 :(得分:26)

Pull Request只是合并某个分支的请求。这意味着在打开pull请求之后对分支进行的提交将包含在最终合并中。

如果您有权访问pull请求要求合并的分支,则可以提交到该分支,并且pull请求将随更改一起更新。

示例:

pull / 3请求将hotfix合并到master

git fetch
git checkout hotfix
git pull origin hotfix

进行更改

git add .
git commit -m "changes!"
git push origin hotfix

现在,您的提交将显示在拉取请求中。

答案 1 :(得分:16)

这里是GitHub"通过命令行合并"拉请求的说明(我是满满的,另一个人是ospr):

步骤1:从项目存储库中,检查新分支并测试更改。

git checkout -b ospr-image-rendering master
git pull https://github.com/ospr/FDWaveformView.git image-rendering

第2步:合并更改并在GitHub上更新。

git checkout master
git merge --no-ff ospr-image-rendering
git push origin master

以下是将更改从上游(?)发送回PR发起人的附加步骤。

git push https://github.com/ospr/FDWaveformView.git ospr-image-rendering:image-rendering

答案 2 :(得分:2)

好问题。但如果可以,我会感到惊讶:

$ cat .git/refs/pull/upstream/839 
f8a9f492098e154b4a8258a941af47c9ca017ada

即使你能以某种方式改变对你喜欢的引用,github还有其他元数据,你很容易改变。因此,更好地推动分支拉动。

$ git push git@github.com:owner/repo.git HEAD:target-branch

请参阅github命令行包装器,以便从命令行更轻松地进行github交互: https://hub.github.com/

答案 3 :(得分:1)

如果您尝试将更改合并到您签出的PR,GitHub桌面客户端将创建另一个拉取请求(PR),其中包括原始PR和您的更改。

我是通过我的主分支完成的,但可能你可以创建另一个分支,然后为pull请求创建一个pull请求。尽管有这些花哨的Git GUI,但这对我来说都很神奇。