我已将此添加到我的.git/config
文件中:
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
这允许我拉下拉请求差异,但是当我检查它时它实际上创建了一个具有相同名称的分支。有没有办法让我推送到pr/2
并让它实际转到拉取请求而不是去一个名为pr/2
的新分支?
答案 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,但这对我来说都很神奇。