三种模式:
Git flow
Github flow
Gitlab flow
共同点:功能驱动式开发,即需求是开发的起点,先有需求再有功能分支(feature branch)或者补丁分支(hotfix branch)。完成开发后,该分支就合并到主分支,然后被删除。
Git flow:
长期分支:
主分支master
开发分支develop
短期分支:
功能分支(feature branch)
补丁分支(hotfix branch)
预发分支(release branch)
优点:清晰可控
缺点:相对复杂,需要同时维护两个长期分支。大多数工具都将master当作默认分支,可是开发是在develop分支进行的,这导致经常要切换分支,非常烦人。
Github flow:
它只有一个长期分支,就是master
Gitlab flow:
对于"持续发布"的项目,它建议在master分支以外,再建立不同的环境分支。
比如,
"开发环境"的分支是master
"预发环境"的分支是pre-production
"生产环境"的分支是production
以上依次为上游到下游,代码的变化,必须由"上游"向"下游"发展。