Git工作流简介

本文编辑整理自http://blog.jobbole.com/76843/
一、基本前言
如果你在阅读本文前,对git还非常陌生,请先花点时间的快速阅读一下《 Git简介
工作流其实不是一个初级主题,背后的本质问题其实是有效的项目流程管理和高效的开发协同约定,不仅是Git或SVN等SCM工具的使用。如果在使用的git的过程中,软件工程师不遵从合理的工作流程,是非常危险的。其危险程度随着参与人员的增长,是几何增长的,不时可能出现代码被冲掉而且一时找不回来的悲剧,这种情况甚至发生在发布版本的前一天。
虽然网上对git的工作流列出了很多,但是我觉得其实分为两类,一类是比较简单和基本的工作流,我们暂称他们为基本工作流,另一类是在一定的场景下基于 基本工作流进行的变种和升级,我们暂称为高级工作流
二、基本工作流
基本工作流 主要分为 集中式工作流 功能分支工作流 ,它们是使用git来进行版本控制的软件工程师都应该了解的,并且应该至少掌握其中之一。
集中式工作流
  如果你的开发团队成员已经很熟悉SVN,集中式工作流让你无需去适应一个全新流程就可以体验Git带来的收益。这个工作流也可以作为向更Git风格工作流迁移的友好过渡.
像SVN一样,集中式工作流以中央仓库作为项目所有修改的单点实体。相比SVN缺省的开发分支trunk,Git叫做master,所有修改提交到这个分支上。该工作流只用到master这一个分支。
Git工作流简介_第1张图片
关于 集中式工作流 的详细内容请参考《 Git集中式工作流
 功能分支工作流
功能分支工作流仍然用中央仓库,并且master分支还是代表了正式项目的历史。但不是直接提交本地历史到各自的本地master分支,开发者每次在开始新功能前先在本地创建一个新分支,我们暂称为本地功能分支。软件工程师先在本地 功能分支进行代码的编写和功能的开发,开发完成后再把其修改合并到 master分支。
Git工作流简介_第2张图片
 
关于 功能分支工作流 的详细内容请参考《 Git功能分支工作流
三、高级工作流
1、Gitflow工作流
Gitflow工作流通过为功能开发、发布准备和维护分配独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构.虽然比功能分支工作流复杂几分,但提供了用于一个健壮的用于管理大型项目的框架。
Gitflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。除了使用功能分支,在做准备、维护和记录发布也使用各自的分支。
Git工作流简介_第3张图片
  关于 G itflow 工作流 的详细内容请参考《 Gitflow工作流
2、Forking工作流
Forking工作流是分布式工作流,充分利用了Git在分支和克隆上的优势。可以安全可靠地管理大团队的开发者(developer),并能接受不信任贡献者(contributor)的提交。
Git工作流简介_第4张图片
  关于 Forking 工作流 的详细内容请参考《 Forking工作流  
3、Pull Requests工作流
Pull requests是Bitbucket提供的让开发者更方便地进行协作的功能,提供了友好的Web界面可以在提议的修改合并到正式项目之前对修改进行讨论.
关于 Pull request 工作流 的详细内容请参考《 Pull Request工作流  

你可能感兴趣的:(版本控制)