我已将以下内容添加到我的.git/config
文件中:
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
这使我可以拉取拉取请求的差异,但是当我检查它时,它实际上创建了一个同名的分支。有没有办法让我推送到pr/2
并将其实际上发送到拉取请求,而不是发送到名为pr/2
的新分支?
我已将以下内容添加到我的.git/config
文件中:
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
这使我可以拉取拉取请求的差异,但是当我检查它时,它实际上创建了一个同名的分支。有没有办法让我推送到pr/2
并将其实际上发送到拉取请求,而不是发送到名为pr/2
的新分支?
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
拉取请求就是请求合并某个分支,这意味着在拉取请求被打开后对该分支进行的提交将包括在最终合并中。
如果您可以访问要求合并的分支,则可以向该分支提交更改,拉取请求将随之更新。
示例:
pull/3 请求合并 hotfix
到 master
git fetch
git checkout hotfix
git pull origin hotfix
做出改变
git add .
git commit -m "changes!"
git push origin hotfix
现在您的提交将显示在拉取请求中。
好问题。但是如果你能做到的话,我会感到惊讶:
$ 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/
简而言之:如果您将push到PR所基于的fork / branch,则可以将其推送到现有的pull request。 这通常取决于存储库设置。
git push git@github.com:username/repo-name.git localbranchname:remotebranchname
如果您已将该分支作为本地版本库中的 remote
添加,则可以执行以下操作:
git push remotename localbranchname:remotebranchname
git push <pr-repo.git> <your-local-branch-name>:<pr-branch-name>
。 - medmunds