关于git:如何从forked repo更新pull请求?

How to update a pull request from forked repo?

因此,我先是分叉回购,然后承诺分叉回购。然后我打开了一个请求。拉请求列出了我想要的所有更改。

在审查了我的请求之后,回购所有人在接受之前希望我做一些更改。我已经在fork中进行了这些更改,现在如何用这些更改更新pull请求(或者这不是我应该如何处理它)?


你做得对。拉请求将自动更新。过程是:

  • 打开拉请求
  • 根据本地回购中的反馈提交更改
  • 推到你叉子的相关分支
  • 拉请求将自动在拉请求讨论的底部添加新提交(即,它已经存在,向下滚动!)


    在Github中更新拉请求与将所需的更改提交到现有分支(与拉请求一起使用)一样简单,但通常还希望将更改压缩为单个提交:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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

    …现在拉请求只包含一个提交。

    有关重新定位的相关链接:

    • https://help.github.com/articles/about-git-rebase
    • 将我的所有提交压缩为一个Github请求


    只需推到拉请求引用的分支。只要拉请求仍处于打开状态,它就会自动更新为任何添加的提交。


    我是通过以下步骤完成的:

  • git reset --hard
  • 我想修改代码吗
  • 江户十一〔一〕号
  • 埃多克斯1〔2〕
  • 埃多克斯1〔3〕

  • 如果在Windows上使用GitHub:

  • 在本地进行更改。
  • 打开github,切换到本地存储库,双击存储库。
  • 将分支(靠近窗口顶部)切换到创建拉请求的分支(即比较分支侧的分支)
  • 应该可以看到选项,在右侧输入提交注释并提交对本地回购的更改。
  • 单击顶部的"同步",这将把您的提交从本地推到GitHub上的远程fork。
  • 拉请求将自动更新为附加提交。这是因为拉取的请求表示与分叉分支的差异。如果您转到请求页面(您和其他人可以在其中对请求进行评论的页面),那么提交选项卡应该具有额外的提交。
  • 这就是为什么在开始进行自己的更改之前,您应该为计划放入拉请求中的每一组更改创建一个分支。这样,一旦您发出请求,您就可以创建另一个分支并继续处理其他任务/功能/错误修复,而不会影响以前的请求。