1.背景/场景
正在开发一个新功能,从master
拉取了一个新的分支dev-v1-XXX
。
现在项目有三个分支:
master
主分支fat
测试环境分支dev-v1-XXX
我的开发分支
开开心心的完成了功能,将功能代码合并到了fat
分支提交测试
这时候突然想起来还有几个小问题没改,然后忘记切回自己的开发分支 , 直接在fat
分支修改后Commit&Push
测试结束后要发布新功能,可是突然想起来代码一部分在dev-v1-XXX
分支,一部分在fat
分支
怎么办?
- 直接把
fat
和dev-v1-XXX
都合入master
(fat
还有其他同学的不能发布的代码) - 把
fat
中的修改手动copy过来(太麻烦了,简直相当于重写)
我们本章的主角git cherry-pick <commit>
该出手了。
2.git cherry-pick <commit>
简介
git cherry-pick <commit>
将指定的提交<commit>
,应用于当前分支。会在当前分支产生一个新的提交,