如何将一个拉取请求合并到我的 GitHub 项目的特性分支中?

5

有人从我的 GitHub 项目的 fork 提交了一个 pull request。我希望在将更改合并到 master 分支之前,将其合并到功能分支中进行一些小的编辑,以便最终产物合并到 master 分支时更加完美。如果可能的话,我希望 GitHub 向提交者指示请求已被接受(我想鼓励和认可贡献!)。这可以吗?该怎么做?


1
我不确定您是否可以通过GitHub来确认贡献。我认为您只能在PR上手动发表评论并感谢贡献者。至于功能分支,只需在本地存储库中添加该分支的fork作为另一个远程存储库,并将远程分支合并到您的功能分支中即可。 - whatyouhide
4个回答

4
首先,您应该创建一个分支的副本,以便于拉取请求的目标。 之后,您可以通过编辑打开的拉取请求(即使不是您打开的)来更改分支,方法是点击编辑按钮(请参见下面的图片)。 完成后,您应该仔细检查目标分支是否已更改。
如果成功更改,则可以将PR合并到新分支中。 编辑按钮位置 单击编辑按钮时选择分支 更改的目标分支

2
这是可能的!首先创建一个特性分支:
$ git checkout -b my-feature

然后将拉取请求的更改拉取并合并到您的新功能分支中:
$ git pull https://github.com/user/fork.git

在新的提交中进行小的调整:
$ # make changes
$ git commit -am "my minor changes"

然后将您的特性分支合并到主分支并推送到GitHub。
$ git checkout master
$ git merge my-feature
$ git push origin master

这将在github.com的拉取请求中反映出来,如果你愿意,你可以留下评论感谢提交者。


现在也可以通过 Github 用户界面完成。请查看此答案 - sloreti

0

最近我不得不接受一个贡献者的PR,我按照以下过程进行:

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

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

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

git checkout -b my-feature-branch FETCH_HEAD

现在,既然你已经有了本地分支,你可以像常规操作一样进行re-base、merge等操作。

一旦你将这个分支与主分支合并并推送后,我会在贡献者的PR中放入提交哈希并感谢他:-)


0
Simple Steps :-

 //checkout main
git checkout main

//pull all latest changes
git pull --rebase

//checkout a tempLocal branch
git checkout -b tempLocal

//check all remote branches (will also show PR branches)
git branch -v -a

//lets assume our branch name is remotes/origin/usr/adam/feature1

//Pull that selected branch inside tempLocal
git pull origin usr/adam/feature1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接