实际项目中使用git的最大理由是,它是一个分布式的版本管理软件。这对于一个在美国,日本,西欧,中国等多个国家均有研发机制的大公司来说尤为重要。
git的相关资料:
http://www.open-open.com/doc/list/282?o=p
在使用git之前,先说明项目中是如何控制版本。
在参与的一个机顶盒项目中,通常有以下几个里程碑:
V0.5 硬件整合完毕,BSP提供
V0.6 基本驱动开发完毕
V0.7 整体开发环境构建完毕
V0.8 所有功能初步开发完毕
V0.9 明细的Bug修改完毕,所有功能完成第一轮测试
V0.9a Alpha版
V0.9b Beta版
V1.0 Bug 0目标实现,正式对外发布。
对于每一个项目,我们均有一个主线,即主分支。
一切顺利的话,就一个主分支就可以了。但实际开发中以下情况:
当前Base:V0.7
A开发者 开发模块C
B开发者 开发模块D
为了,A和B互相不影响,最好创建两个分支: branch_v0.7_C 和 branch_v0.7_C。
A在branch_v0.7_C上开发,B在branch_v0.7_D上开发。
开发完成后,通过QA测试后,再统一合并(merge)到主分支上。
此外,实际产品开发中,还有下面一种需求。
比如,在V1.0之后,面向美国的产品开发完,我们想在此基础上开发,面向中国的版本,按上面的里程碑,
对于面向中国的产品来说,目前是V0.7,因此,必须创建新的分支(branch)。
进一步,在同一个分支上,我们可能还有许多小的改动,每一次提交,我们必须打一个tag。
总结: 版本控制的三大核心: 仓库, 分支(branch),tag。
接下来,说明git如何实现这三大核心。