likes
comments
collection
share

原来我之前Cherry-Pick命令用错了方式,更好的是HotFix场景使用!

作者站长头像
站长
· 阅读数 30

前言

这个教程基于我的个人理解和实践,所以请大家多多指教。错误之处,欢迎评论指出,方便大家也能参考.有时间的话我也很乐意及时的进行改进。如果教程中有表述不清楚的地方,也请指出,或提供建议。

Cherry-Pick命令的简单介绍

git cherry-pick 是 Git 中的一个命令,主要用于将某个分支上的单个或多个提交(commit)的效果复制到当前所在的分支上,而无需执行整个分支的合并操作。简单来说,cherry-pick 就像是从一个树上挑选一颗特定的樱桃放到另一棵树上,只搬运特定的提交,而不是搬动整个分支的历史。

git cherry-pick <commit-hash>

背景

在日常开发流程中,我们通常遵循一定的分支管理策略,例如在dev分支上进行开发,待功能稳定并通过测试后,最终通过测试的代码会被合并到release分支准备正式发布。

一旦软件版本上线,理论上该release分支的代码就应该相对稳定,但在实际情况中,难免会出现线上紧急问题需要快速修复的情况。

这就是hotfix分支发挥作用的场景。

以往处理这类问题时,可能会直接从release分支复制(cherry-pick)所需的修正代码。

应用

而现在,借助hotfix分支策略,我们可以通过以下更为流畅的步骤解决这个问题:

  1. 当线上出现紧急bug需要立刻修复时,首先从当前的release分支创建一个新的hotfix分支。

  2. 在dev分支上针对问题进行修复,并将修复后的代码正常提交至dev分支。

  3. 紧接着,将dev分支上的修复补丁通过cherry-pick的方式同步到hotfix分支上,并在此分支上进行严格的测试。

  4. 测试通过后,直接将hotfix分支的内容部署上线,完成热修复工作,此时release分支保持不变,避免了直接在release分支上做临时修复可能带来的风险。

  5. 待未来需要进行常规版本迭代时,只需将dev分支的全部新功能和改进顺利合并到release分支,而不再受之前热修复的影响。

总结

以上是我通过多次使用cherry-pick,发现存在一些问题之后,通过引入hotfix分支,避免了一些不必要的冲突处理,使整个代码的合并更为简洁、清晰。

致谢

感谢你的耐心阅读,如果我的分享对你有所启发或帮助,就给个赞呗,很开心能帮到别人。

转载自:https://juejin.cn/post/7345647273160671273
评论
请登录