git cherry-pick
可以选择某一个分支中的一个或几个commit(s)来进行操作。
例如,假设我们有个稳定版本的分支,叫v2.0.0,另外还有个开发版本的分支v3.0.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0.0中的功能到v2.0.0中,这里就可以使用cherry-pick
了,其实也就是对已经存在的commit 进行再次提交。
合并操作
git checkout v2.0.0 #切换到目标分支
git cherry-pick ff571ed7 #ff571ed7 是v3.0.0分支的某次commit的hash(可以使用git log查看)
# 一次合并多个commit
git cherry-pick ff571ed7 ff571ed8
# 如果多次commit是连续的
git cherry-pick ff571ed7..ff571ed8 # 不包括ff571ed7
git cherry-pick ff571ed7^..ff571ed8 # 包括ff571ed7
成功的提示
注意事项
如果有冲突发生,要先解决冲突,然后再运行git cherry-pick --continue
就可以继续完成;
其它操作
#1、发生冲突后放弃合并,回到操作之前的状态
git cherry-pick --abort
#2、发生冲突后,退出cherry-pick 但不回到操作之前的状态
git cherry-pick --quit