注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

民主与科学

独立之人格,自由之思想

 
 
 

日志

 
 

Git工作流简介  

2015-03-31 19:41:22|  分类: 版本控制 |  标签: |举报 |字号 订阅

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

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017