git cherry-pick
切换到要合并的分支
fork的
git fetch upstream release-0.2
git checkout -b release-0.2 upstream/release-0.2
git push origin release-0.2
git checkout -b my-release-0.2
非fork的
# 没有的话先创建分支
git checkout my-release-0.2
cherry-pick
找到你要合并的提交(一个或多个)
git cherry-pick -x xxxxxx # xxxxxx为commit id -x 参数,表示保留原提交的作者信息进行提交
git cherry_pick <start-commit-id>…<end-commit-id> #它的范围就是 start-commit-id 到 end-commit-id 之间所有的 commit,但是它这是一个 (左开,右闭] 的区间,也就是说,它将不会包含 start-commit-id 的 commit。
git cherry-pick <start-commit-id>^...<end-commit-id> # 包含start-commit-id
冲突
冲突的话,解决冲突
git commit -c
git cherry-pick -x xxxxxx # xxxxxx为commit id
git cherry-pick --continue
提交
git push origin my-release-0.2
其他命令
git cherry-pick --skip
git cherry-pick --quit
git cherry-pick --abort