Geo*_*met 5 git github rebase pull-request
假设我在master我们受祝福的存储库的分支上本地.有人发送了拉取请求.
如何在我的本地分支上应用该pull请求的提交 - 好像这些提交在我的分支上重新命名 - 在一个命令中?
注意:pull请求有几天之久,我的本地分支已经创建了pull请求以来有新的提交.
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别名是必需的,这只是一个脚本问题:)