git 合并某次提交commit到指定的分支上

2019-04-26  本文已影响0人  gooddaytoyou

需求:有些时候,我们希望只合并某个分支上的某次修改,commit到指定分支上,那我们可以通过 cherry-pick 来实现。

这里以下面的例子来讲解。

dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 [master]
          \
          76cada - 62ecb3   - b886a0 [feature]

git log 查看提交的信息,记住commit id

合并单个commit

我们需要将 feature 62ecb3 合并到master上

git checkout master
git cherry-pick 62ecb3

合并某个分支上一系列commit

在有些情况下,我们需要某个分支上一系列commits合并到master上。对于这种情况cherry-pick就不太满足,使用rebase就可以达到效果。

接上面的例子,你想将feature中的commit 76cada到62ecb3合并到master.
首先需要在feature上面创建一个新的分支,以你最后的提交为结点,这里以62ecb3.

git checkout -b newbranch 62ecb3

下一步,需要rebase新的分支commit --onto master上. 76cada表示,这次commit从哪里开始。

git rebase --onto master 76cada^

from https://www.devroom.io/2010/06/10/cherry-picking-specific-commits-from-another-branch/

上一篇 下一篇

猜你喜欢

热点阅读