所以我首先分叉了一个仓库,然后提交了一个分叉仓库。然后我打开了拉取请求。 pull请求列出了我想要的所有更改。
在审核了我的拉取请求后,回购所有者希望我在接受之前做出一些更改。我已经在我的fork中进行了这些更改,现在如何使用这些更改更新pull请求(或者这不是我应该如何处理它)?
答案 0 :(得分:537)
您已正确完成。拉取请求将自动更新。这个过程是:
拉取请求会自动在拉取请求讨论的底部添加新提交(即它已经存在,向下滚动!)
答案 1 :(得分:74)
在GitHub中更新pull请求就像将所需的更改提交到现有分支(与pull请求一起使用)一样简单,但通常也需要将更改压缩到单个提交中:
git checkout yourbranch
git rebase -i origin/master
# Edit command names accordingly
pick 1fc6c95 My pull request
squash 6b2481b Hack hack - will be discarded
squash dd1475d Also discarded
git push -f origin yourbranch
...现在拉取请求只包含一个提交。
有关变基的相关链接:
答案 2 :(得分:31)
只需按下pull请求引用的分支即可。只要拉取请求仍然打开,它就会自动更新任何添加的提交。
答案 3 :(得分:10)
我是通过以下步骤完成的:
git reset --hard <commit key of the pull request>
git add
git commit --amend
git push -f origin <name of the remote branch of pull request>
答案 4 :(得分:3)
如果在Windows上使用 GitHub :
这就是为什么在开始更改自己之前,应该为计划放入拉取请求的每组更改创建一个分支。这样,一旦你发出拉取请求,你就可以创建另一个分支并继续处理其他任务/功能/ bug修复,而不会影响之前的拉取请求。