业务:
现有feature/develop_fixbug_3011,develop两个分支,feature/develop_fixbug_3011分支based develop,并在feature/develop_fixbug_3011开发一个功能模块后将feature/develop_fixbug_3011 merge到develop分支.然后将feature/develop_fixbug_3011分支从远程仓库删除.
现有分支C,需要将在feature/develop_fixbug_3011分支开发的功能合并到C分支
实现:
git cherry-pick 打补丁
1.git checkout develop
2.git log --after="2019-05-14 00:00" --before="2019-05-14 23:59",其中日期为将feature/develop_fixbug_3011 merge到develop的日期,从而获取到 merge 的commit log
commit e4739c22eb5045dd6b98cc4dbc403263c7af51a7
Merge: c399515 160a103
Author:********
Date: Tue May 14 06:24:08 2019 +0000
Merge branch 'feature/develop_fixbug_3011' into 'develop'
Feature/develop fixbug 3011
See merge request synesis/source!88
其中 e4739c22eb5045dd6b98cc4dbc403263c7af51a7 为该次merge的提交id, c399515 为develop分支 之前的一次提交 id,160a103 为feature/develop_fixbug_3011 的上一次提交
3.git checkout C
4. git cherry-pick e4739c22eb5045dd6b98cc4dbc403263c7af51a7 -m 1
其中 -m -1 表明 e4739c22eb5045dd6b98cc4dbc403263c7af51a7 的父节点为c399515,即要打的补丁为 c399515 到 e4739c22eb5045dd6b98cc4dbc403263c7af51a7之间的变化.也就是在 feature/develop_fixbug_3011上开发的功能
5. git push
参考:
https://segmentfault.com/q/1010000010185984
https://blog.csdn.net/u010900754/article/details/79660533