Git分支合并指定commits

  • 合并某个分支上的单个commit

首先git log查看commits

然后使用git cherry-pick命令合并指定单个commit

git checkout feature
git cherry-pick 123456

现在commit 123456就被合并到feature分支,并在feature中添加了commit(作为一个新的commit)。cherry-pick 和merge比较类似,如果git不能合并代码改动(比如遇到合并冲突),git需要你自己来解决冲突并手动添加commit。

  • 合并某个分支上的一堆commits

使用git rebase命令合并指定的一堆commit

如果需要合并feature分支的commit100001 ~100006 到master分支。
首先需要基于feature创建一个新的分支,并指明新分支的最后一个commit:

#基于feature创建一个新的分支,并指明新分支的最后一个commit
git checkout -bnewbranch 100006

#然后,rebase这个新分支的commit到master(--ontomaster)。100001^ 指明从指定的commit开始。
git rebase --ontomaster 100001^

执行命令得到的结果就是feature分支的commit 100001 ~100006 都被合并到了master分支。

你可能感兴趣的:(Git分支合并指定commits)