我在GitHub上的项目已收到pull request。拉取请求仅部分解决了它正在解决的问题。我已将更改添加到本地分支并添加了一些我自己的提交。
我现在想将这些提交推回到我的远程仓库并让它们显示在拉取请求中,但不将它们合并到目标分支中。我想保持拉取请求的开放性,以便进一步审查和讨论,并可能进一步提交。
有没有办法我可以在拉取请求中添加提交而不将它们合并到目标分支中,从而关闭拉取请求?
答案 0 :(得分:22)
只要原作者点击了右下方的复选框:
如果选中该框,则可以回退到原始分支,而无需使用以下命令添加远程:
git push git@github.com:user/repo local_branch_name:remote_branch_name
如果你使用像hub这样的工具,你可以在不需要添加遥控器的情况下查看拉取请求,这一点特别有用。
答案 1 :(得分:12)
现在可以这样做(gist)
假设您已从yourrepo
收到otheruser
的拉取请求。
将其他用户添加为远程
git remote add otheruser https://github.com/otheruser/yourrepo.git
取
git fetch otheruser
从他们的仓库创建一个分支
git checkout -b otheruser-master otheruser/master
现在进行一些更改并提交。推送到他们的回购
git push otheruser HEAD:master
答案 2 :(得分:6)
除非barryceelen
授予您对其分叉的推送权限,否则不会。你必须关闭他的拉取请求并从你的分支中打开一个新的请求,包括他的提交。
无法做你想做的事情很烦人。为了更好地利用GitHub流程,我建议请求forkers单独解决它们解决它们的pull请求,这意味着你可以保留最初的会话流,并通过你认为最好的pull请求关闭它。
答案 3 :(得分:0)
我使用新的gh
cli工具。
gh pr checkout PR_NUMBER
然后进行更改,只要您有权限推动他们的分叉(根据我的经验,如果您拥有主存储库,通常就是这种情况)。使用gh
工具,它将基本上复制其branch
的名称,以便您可以这样做。
git push git@github.com:other_user/repo branch:branch