[Git 工作流指南]Git Workflows and Tutorials
来源:互联网 发布:单片机音阶频率表 编辑:程序博客网 时间:2024/06/15 06:43
原文链接:Git Workflows and Tutorials
译文发在博乐在线: http://blog.jobbole.com/76550/,2014-09-14
译序
这篇指南以大家在SVN
中已经广为熟悉使用的集中式工作流作为起点,循序渐进地演进到其它高效的分布式工作流,还介绍了如何配合使用便利的Pull Request
功能,体系地讲解了各种工作流的应用。 如果你Git
用的还不多,可以从前面的讲的工作流开始操练。操作过程去感受指南的讲解:解决什么问题、如何解决问题,这样理解就深了,也方便活用。
行文中实践原则和操作示例并重,对于Git
的资深玩家可以梳理思考提升,而新接触的同学,也可以跟着step-by-step操作来操练学习并在实际工作中上手使用。
工作流其实不是一个初级主题,背后的本质问题其实是有效的项目流程管理和高效的开发协同约定,不仅是Git
或SVN
等VCS
或SCM
工具的使用。
关于Git
工作流主题,网上体系的中文资料不多,主要是零散的操作说明,希望这篇文章能让你更深入理解并在工作中灵活有效地使用起来。
Gitflow
工作流是经典模型,处于核心位置,体现了工作流的经验和精髓。随着项目过程复杂化,会感受到这个工作流中深思熟虑和威力!
Forking
工作流是协作的(GitHub
风格)可以先看看GitHub
的Help:Fork A Repo和Using pull requests 。照着操作,给一个GitHub
项目贡献你的提交,有操作经验再看指南容易意会。指南中给了自己实现Fork
的方法:Fork
就是服务端的克隆。在指南的操练中使用代码托管服务(如GitHub
、Bitbucket
),可以点一下按钮就让开发者完成仓库的fork
操作。
PS:
文中Pull Request
的介绍用的是Bitbucket
代码托管服务,由于和GitHub
基本一样,如果你用的是GitHub
(我自己也主要使用GitHub
托管代码),不影响理解和操作。
PPS:
更多Git
学习资料参见
Git
的资料整理 by @xirong- 自己整理的分享PPT git-gitlab-usage.pptx @ 个人整理一些
Git
资料
自己理解粗浅,翻译中不足和不对之处,欢迎
- 建议,提交
Issue
- 指正,
Fork
后提通过Pull Requst
贡献修改
- 建议,提交
- 如有文章理解上有疑问 或是 使用过程中碰到些疑惑,请随意
提交
Issue
,一起交流学习讨论!
Git
工作流指南
工作流有各式各样的用法,但也正因此使得在实际工作中如何上手使用变得很头大。这篇指南通过总览公司团队中最常用的几种
Git
工作流让大家可以上手使用。
在阅读的过程中请记住,本文中的几种工作流是作为方案指导而不是条例规定。在展示了各种工作流可能的用法后,你可以从不同的工作流中挑选或揉合出一个满足你自己需求的工作流。
概述
集中式工作流
如果你的开发团队成员已经很熟悉Subversion
,集中式工作流让你无需去适应一个全新流程就可以体验Git
带来的收益。这个工作流也可以作为向更Git
风格工作流迁移的友好过渡。
了解更多 »
功能分支工作流
功能分支工作流以集中式工作流为基础,不同的是为各个新功能分配一个专门的分支来开发。这样可以在把新功能集成到正式项目前,用Pull Requests
的方式讨论变更。
了解更多 »
Gitflow
工作流
Gitflow
工作流通过为功能开发、发布准备和维护分配独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。
了解更多 »
Forking
工作流
Forking
工作流是分布式工作流,充分利用了Git
在分支和克隆上的优势。可以安全可靠地管理大团队的开发者(developer
),并能接受不信任贡献者(contributor
)的提交。
了解更多 »
Pull Requests
Pull requests
是Bitbucket
提供的让开发者更方便地进行协作的功能,提供了友好的Web
界面可以在提议的修改合并到正式项目之前对修改进行讨论。
了解更多 »
目录
- 译序
- 概述
- 集中式工作流
- 工作方式
- 冲突解决
- 示例
- 有人先初始化好中央仓库
- 所有人克隆中央仓库
- 小明开发功能
- 小红开发功能
- 小明发布功能
- 小红试着发布功能
- 小红在小明的提交之上
rebase
- 小红解决合并冲突
- 小红成功发布功能
- 下一站
- 工作方式
- 功能分支工作流
- 工作方式
Pull Requests
- 示例
- 小红开始开发一个新功能
- 小红要去吃个午饭
- 小红完成功能开发
- 小黑收到
Pull Request
- 小红再做修改
- 小红发布她的功能
- 与此同时,小明在做和小红一样的事
- 下一站
- 工作方式
Gitflow
工作流- 工作方式
- 历史分支
- 功能分支
- 发布分支
- 维护分支
- 示例
- 创建开发分支
- 小红和小明开始开发新功能
- 小红完成功能开发
- 小红开始准备发布
- 小红完成发布
- 最终用户发现
Bug
- 下一站
- 工作方式
Forking
工作流- 工作方式
- 正式仓库
Forking
工作流的分支使用方式
- 示例
- 项目维护者初始化正式仓库
- 开发者
fork
正式仓库 - 开发者克隆自己
fork
出来的仓库 - 开发者开发自己的功能
- 开发者发布自己的功能
- 项目维护者集成开发者的功能
- 开发者和正式仓库做同步
- 下一站
- 工作方式
Pull Requests
- 解析
Pull Request
- 工作方式
- 在功能分支工作流中使用
Pull Request
- 在
Gitflow
工作流中使用Pull Request
- 在
Forking
工作流中使用Pull Request
- 在功能分支工作流中使用
- 示例
- 小红
fork
正式项目 - 小红克隆她的
Bitbucket
仓库 - 小红开发新功能
- 小红
push
功能到她的Bitbucket
仓库中 - 小红发起
Pull Request
- 小明review
Pull Request
- 小红补加提交
- 小红
- 下一站
- 解析
- [Git 工作流指南]Git Workflows and Tutorials
- Git工作流指南:Gitflow工作流 Comparing Workflows
- git工作流指南:Forking工作流
- git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- Git工作流指南:Gitflow工作流
- git 工作流指南
- Git工作流指南
- [转载] Git工作流指南
- Git各种工作流指南
- git工作流指南
- Git工作流指南
- Git工作流指南
- Git Distributed Workflows
- Git工作流指南(一)
- O-C相关-03:面向对象概念的具体介绍
- 【unity优化二】零碎经验集合
- 当你访问网站时,Session会立刻建立吗?
- 挑战程序设计初级篇例题
- 计算几何中的精度问题
- [Git 工作流指南]Git Workflows and Tutorials
- [2015-08-02] python014
- 实现自定义对话框中的属性动画
- 虚函数与多态性
- UE4信息交互-命令行执行自定义事件ConsoleCommand
- 【unity优化三】CPU
- Sublime Text 如何连接 FTP/SFTP
- 本教程针对HBuilder5.0.0,制作日期2014-12-31(从HBuilder工具上获得)
- 杭电2073无限的路.水题