Git工作流指南
工作流其实不是一个初级主题,背后的本质问题其实是有效的项目流程管理和高效的开发协同约定,不仅是Git
或SVN
等SCM
工具的使用。
这篇指南以大家在SVN
中已经广为熟悉使用的集中式工作流作为起点,循序渐进地演进到其它高效的分布式工作流,还介绍了如何配合使用便利的Pull Request
功能,体系地讲解了各种工作流的应用。
行文中实践原则和操作示例并重,对于Git
的资深玩家可以梳理思考提升,而新接触的同学,也可以跟着step-by-step操作来操练学习并在实际工作中上手使用。
关于Git
工作流主题,网上体系的中文资料不多,主要是零散的操作说明,希望这篇文章能让你更深入理解并在工作中灵活有效地使用起来。
PS:
文中Pull Request
的介绍用的是Bitbucket
代码托管服务,由于和GitHub
基本一样,如果你用的是GitHub
(我自己也主要使用GitHub
托管代码),不影响理解和操作。
自己理解粗浅,翻译中不足和不对之处,欢迎建议(提交Issue)和指正(Fork后提交代码)!
Git
工作流指南
工作流有各式各样的用法,但也正因此使得在实际工作中如何上手使用变得很头大。这篇指南通过总览公司团队中最常用的几种Git
工作流让大家可以上手使用。
在阅读的过程中请记住,本文中的几种工作流是作为方案指导而不是条例规定。在展示了各种工作流可能的用法后,你可以从不同的工作流中挑选或揉合出一个满足你自己需求的工作流。
概述
集中式工作流
如果你的开发团队成员已经很熟悉Subversion
,集中式工作流让你无需去适应一个全新流程就可以体验Git
带来的收益。这个工作流也可以作为向更Git
风格工作流迁移的友好过渡。
功能分支工作流
功能分支工作流以集中式工作流为基础,不同的是为各个新功能分配一个专门的分支来开发。这样可以在把新功能集成到正式项目前,用Pull Requests
的方式讨论变更。
Gitflow
工作流
Gitflow
工作流通过为功能开发、发布准备和维护分配独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。
Forking
工作流
Forking
工作流是分布式工作流,充分利用了Git
在分支和克隆上的优势。可以安全可靠地管理大团队的开发者(developer
),并能接受不信任贡献者(contributor
)的提交。
Pull Requests
Pull requests
是Bitbucket
提供的让开发者更方便地进行协作的功能,提供了友好的Web
界面可以在提议的修改合并到正式项目之前对修改进行讨论。
来自:https://github.com/quickhack/translations/tree/master/git-workflows-and-tutorials