在我较新的本地提交之上重新启动GitHub拉取请求

Geo*_*met 5 git github rebase pull-request

假设我在master我们受祝福的存储库的分支上本地.有人发送了拉取请求.

如何在我的本地分支上应用该pull请求的提交 - 好像这些提交在我的分支上重新命名 - 在一个命令中?

注意:pull请求有几天之久,我的本地分支已经创建了pull请求以来有新的提交.

Cha*_*esB 6

Igor Zevaka一篇关于这个主题的

首先必须获取隐藏的pull请求ref,并将其放在pr/NNN远程分支下:

git fetch origin refs/pull/1234/head:refs/remotes/pr/1234
Run Code Online (Sandbox Code Playgroud)

(替换1234为拉取请求编号)

在此之后它只是一个经典的rebase:检查pull请求,并在你的master分支上重新绑定它:

git checkout pr/1234
git rebase master
Run Code Online (Sandbox Code Playgroud)

或者

git rebase master pr/1234
Run Code Online (Sandbox Code Playgroud)

你当然可以看到冲突.

现在拉取请求已重新启动master,并且是当前分支.如果你想更新master只需合并pull请求(我们说--ff-only因为我们知道它将是一个快进合并):

git checkout master
git merge --ff-only pr/1234
Run Code Online (Sandbox Code Playgroud)

要有一个单行的一些shell别名是必需的,这只是一个脚本问题:)