如何从forked repo更新pull请求?

因此我首先分叉了一个回购,而后提交了一个分叉的回购。 而后我打开了拉取请求。 pull请求列出了我想要的全部更改。 git

在审核了个人拉取请求以后,回购全部者但愿我在接受以前作出一些更改。 我已经在个人fork中进行了这些更改,如今如何使用这些更改更新pull请求(或者这不是我应该如何处理它)? github


#1楼

若是在Windows上使用GitHubspa

  1. 在本地进行更改。
  2. 打开GitHub,切换到本地存储库,双击存储库。
  3. 将分支(靠近窗口顶部)切换到您从中建立拉取请求的分支(即比较的fork侧的分支)
  4. 应该看到右边输入提交注释的选项,并提交对本地仓库的更改。
  5. 单击顶部的同步,除其余外,将您的提交从本地推送到GitHub上的远程分支。
  6. 拉取请求将经过附加提交自动更新。 这是由于pull请求表示fork分支的diff。 若是您转到拉取请求页面(您和其余人能够对您的拉取请求发表评论的页面),则“提交”选项卡应该包含您的其余提交。

这就是为何在开始更改本身的更改以前,应该为计划放入拉取请求的每组更改建立一个分支。 这样,一旦你发出了拉取请求,你就能够建立另外一个分支并继续处理其余任务/功能/ bug修复,而不会影响以前的拉取请求。 code


#2楼

在GitHub中更新pull请求就像将所需的更改提交到现有分支(与pull请求一块儿使用)同样简单,但一般也须要将更改压缩到单个提交中: rem

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

...如今,pull请求只包含一个提交。 get


关于变基的相关连接: 同步


#3楼

我用如下步骤作到了: it

  1. git reset --hard <commit key of the pull request>
  2. 个人代码改变了吗?
  3. git add
  4. git commit --amend
  5. git push -f origin <name of the remote branch of pull request>

#4楼

只需按下pull请求引用的分支便可。 只要拉取请求仍然打开,它应该自动更新任何添加的提交。 io


#5楼

你作得对了。 拉取请求将自动更新。 过程是: ast

  1. 开拉请求
  2. 根据您当地仓库中的反馈提交更改
  3. 推送到fork的相关分支

pull请求将自动在pull请求讨论的底部添加新提交(即, 它已经存在,向下滚动!

相关文章
相关标签/搜索