【问题标题】:How do I merge a pull request into a feature branch of my github project?如何将拉取请求合并到我的 github 项目的功能分支中?
【发布时间】:2015-03-31 00:36:09
【问题描述】:

有人从 fork 向我的 GitHub 项目提交了拉取请求。与其直接合并到 master 中,我更愿意将更改合并到一个功能分支中,以便在将最终产品合并到 master 之前进行一些小的编辑。如果可能的话,我希望 GitHub 向提交者表明请求已被接受(我想鼓励和认可贡献!)。这可能吗?我该怎么办?

【问题讨论】:

  • 我不确定您是否可以通过 GitHub 确认贡献。我认为您必须手动评论 PR 并感谢贡献者。关于功能分支,只需将 fork 作为另一个远程添加到本地存储库中,然后将远程分支合并到您的功能分支中。

标签: git github pull-request


【解决方案1】:

首先,您应该创建拉取请求所针对的分支的副本。 之后,您可以通过单击编辑按钮(参见下图)编辑已打开的拉取请求(即使它不是您打开的)来更改分支。 完成后,您应该仔细检查目标分支是否已更改。

如果更改成功,则可以将 PR 合并到新分支中。

Edit button location

Branch selection when clicking the edit button

Changed target branch

【讨论】:

    【解决方案2】:

    我最近不得不接受一个贡献者的 PR,我遵循以下流程:

    git fetch <fork-url> <PR-branch name>

    上面的命令应该给你一个 FETCH_HEAD(这是一个短暂的参考,用于跟踪刚刚从远程存储库中获取的内容)

    现在从这个 FETCH_HEAD 创建一个分支作为“起点”

    git checkout -b my-feature-branch FETCH_HEAD

    现在,既然你有了本地分支,你就可以做一些常见的事情,比如 re-base、merge 等。

    一旦你将此分支与 master 合并并推送它,我会将提交哈希放入贡献者的 PR 并感谢他:-)

    【讨论】:

      【解决方案3】:

      这是可能的!首先创建一个特性分支:

      $ git checkout -b my-feature
      

      然后将拉取请求的更改拉取并合并到您的新功能分支:

      $ git pull https://github.com/user/fork.git
      

      在新的提交中进行细微的调整:

      $ # make changes
      $ git commit -am "my minor changes"
      

      然后将你的功能分支合并到 master 并推送到 github。

      $ git checkout master
      $ git merge my-feature
      $ git push origin master
      

      这将反映在 github.com 上的拉取请求中,如果您愿意,可以发表评论感谢提交者。

      【讨论】:

      猜你喜欢
      • 2020-02-12
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-20
      • 1970-01-01
      • 2021-12-26
      • 2013-02-12
      相关资源
      最近更新 更多