cherry-pick
直译,摘樱桃。这个就是可以选一个分支中一个或者几个commit来应用提交到另外一个分支,操作单元是commit 不是branch。附图如下:
当前分支head 指向F,我可以选取另一个分支上的C commit,将其更改应用到我的分支,作为C‘ commit。
现实场景
在开发过程中,错误地用了test分支进行开发,结果导致test提交历史混乱,然后leader要重新删掉原先test,再拉一个test。那么问题来了,你在test分支上开发的东西不就丢了吗?
**解决:**这个时候,可以先从master上拉一个开发分支dev-branch,然后在你leader删掉原先test之前,将你在test上的commit(cherry-pick的操作单位是commit)cherry-pick到你新拉的dev-branch上,这时候代码就丢不了了,并且可以在这个分支上继续开发。
后期开发完,需要到test分支上测试,也可以用cherry-pick将你的dev-branch分支上的commit cherry-pick到test分支上。