前几天被问到如何用 git 将其他分支的某些 commit 合并到当前分支的问题,当时一点概念都没有,现在总结一下。
需要用到的指令为 cherry-pick,栗子:
git cherry-pick commit_id_1 commit_id_2 commit_id_3 commit_id_4
上述指令是将某一分支的 commit 的 id 为 commit_id_1、commit_id_2、commit_id_3、commit_id_4 合并到当前分支中,因为 commit id 无论在哪个分支都不会重复,故无需指定分支名称。
上述指令能很好的完成任务,但是如果 commit id 有很多的话,commit id 都要写很长很长,太麻烦了。git 开发者想到了该问题,提供的解决办法是:
git cherry-pick commit_id_1..commit_id_4
中间用两个点的省略号连起首位 commit 的 id,注意:id 是左开右闭的,即:( commit_id_1, commit_id_4] 。
原理图如下:
(SAW:Game Over!)