Git 协同工作流实战一(综合分析)
概述
随着项目越来越复杂,以至于出现一种现象:开发完成的代码不敢提交到远程仓库,怕升级系统时引发问题。这也暴露出测试、管理上的缺陷。
软件系统的升级发布与开发人员和代码管理是密不可分的,良好的代码管理有助于提升团队的开发效率,使软件版本的迭代变得清晰可控,因此有必要建立一套代码分支管理流程。
GitFlow
GitHubFlow
GitFlow中分支比较多,不太适合持续发布的开发场景。持续发布,就是指随时提交,随时发布,不需要等待某个特定的时间或者版本。
GitHubFlow对GitFlow做了简化,专门适用于持续发布的开发流程。它只维护一个长期分支master,其它的无论是做什么用途的分支都算临时分支,用完即删除。如此,无论何时发布master,其都是最新的内容。
使用说明
master分支是默认就拥有的,我们不能在其上进行开发,因此需要创建一个单独的分支用于开发:
|
|
当内容开发完成,并且确定不再需要新增或者修改后,就可以将内容合并到master上:
|
|
|
|
此时,master上就会随时都包含最新的内容,随时都可以进行发布操作,完美契合持续发布流程。随后我们就可以将先前的临时分支删除:
|
|
GitHubFlow 特点:
- 令master 分支时常保持可以部署的状态
- 进行新的作业时要从master 分支创建新的分支,新分支名称要具有描述性
- 在2新建的本地仓库分支中进行提交
- 在Github 端仓库创建同名分支,定期push
- 需要帮助、反馈,或者branch已经准备merging时,创建Pull Request,以Pull Request 进行交流
- 让其他开发者进行审查,确认作业完成后与master分支进行合并(合并的代码一定要测试
- 与master分支合并后,立刻部署
优缺点分析
- 需要维护长期分支数目较少,简单容易操作;
- 天然契合持续发布的工作流程;
- 不适用于版本发布的工作流程;
- 原文作者:范明勇
- 原文链接:https://blog.fanmuyong.com/post/Git%E5%8D%8F%E5%90%8C%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%AE%9E%E6%88%98%E4%B8%80/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。