合并某个分支上的单个commit
比如,feature 分支上的 commit 62ecb3 非常重要,它含有一个bug的修改。你现在只需要将 62ecb3 合并到 master,而不合并 feature 上的其他 commits:
git checkout master
git cherry-pick 62ecb3
合并某个分支上的一系列commits
在一些特性情况下,合并单个commit并不够,你需要合并一系列相连的commits。
这种情况下就不要选择 cherry-pick 了,rebase 更适合。
假设你需要合并 feature 分支的 commit 76cada ~62ecb3 到 master分支。
首先需要基于 feature 创建一个新的分支,并指明新分支的最后一个commit:
git checkout -b newbranch 62ecb3
然后,rebase 这个新分支的 commit 到 master(--ontomaster)。
git rebase --onto master 76cada^
得到的结果就是feature分支的commit 76cada ~62ecb3 都被合并到了master分支。