谈谈 Git 分支管理的本质
想了想工作两年中自己做的事情,发现这方面还算不错,所以拎出来说说自己对 Git 的一些理解。 粗略浏览了一下网上存在的 Git 相关的中文文章,大多数是介绍 Git 的一些命令怎么使用,或者是介绍 Git 分支管理策略里有哪些类型的分支,似乎没有一篇文章是在解释为什么要这么做。 我想从这个角度来写一篇文章,记录 Git 分支管理里那些最本质的思想,如果在学习过程中能够直观性了解到这个层面,在学习任何东西时,都会有事半功倍的效果吧。 为什么有 hotfix 分支 我们先来看看为什么有 hotfix 分支。 假设我们只有一条分支 dev,最新的提交记录是 A000001,以该提交记录打了一个 tag 1.0,然后我们基于这个节点的版本发布了系统。 我们继续在 dev 分支上继续开发,有了 A000002、A000003 两个新的提交记录,在这个时候线上系统发现了一个 BUG ,我们要如何修复? 如果是单独的一个 dev 分支,我们可以回滚到 A000001 这个时候的版本修复 BUG,提交记录为 A000004,然后部署生产版本。那么此时就有一个问题,A000002 和 A000003 的...