码迷,mamicode.com
首页 > 其他好文 > 详细

git cherry-pick适用场景详解

时间:2020-04-29 12:52:24      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:自己的   生产环境   使用   创建   不同   条件   origin   完成   lease   

前提条件:有2个分支,分别是release,hotfix,其中release是用于生产环境的发布分支。

场景1:生产环境hotfix。

T1时刻,使用release分支发布生产。当时的HEAD的commit记为C1.

T2时刻,开发完成下一个迭代周期的代码,并且merge到release准备提测,此时release的HEAD记为C2,注意:C1和C2已经不同了。

T3时刻,生产环境发现了bug,开发基于C1创建一个hotfix分支,代码紧急修复并签入hotfix,用C3表示这个commit,发布生产。

问题:由于hotfix不能基于C2创建(T2时release已污染,存在下一周期待提测代码),如何确保C3被正确merge到release呢?

答案:使用git cherry-pick命令。

git checkout dev // 每个开发人员有自己的dev分支,这个分支基于release创建,时刻和release同步

git cherry-pick -n C3   //C3是hotfix的提交sha-1

git commit -am "把hotfix(C3)的代码cherry-pick到release"

git push origin dev

最后,去gitlab里发起一个MergeRequest吧,dev->release

 

场景2:上一次发布生产环境时,有

git cherry-pick适用场景详解

标签:自己的   生产环境   使用   创建   不同   条件   origin   完成   lease   

原文地址:https://www.cnblogs.com/auv2009/p/12801188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!