# CD-CM-VC-BM-L1-01-分支模型说明文档
|
能力项 [版本控制] |
# 简介
>本文档介绍了仓库、分支的定义,介绍了git关于仓库的基本使用命令,git 和 gitlab 定义团队开发的分支模型和工作流。
# 前言
掌上网管应用开发项目将由多人合作进行开发、测试、发布等工作,为了控制软件开发的版本管理、代码共享以及项目整合等,采用git分布式版本管理工具进行项目版本管理和 gitlab 平台作为代码仓库托管平台。因此本文介绍git 和 gitlab 定义团队开发的分支模型和工作流。
# 目的
为了更加方便的管理掌上网管应用开发的代码的,介绍该代码仓库的定义与使用命令。
# 定义
## 仓库(Repository)
仓库是git的基本概念,本质就是一个文件目录,这个目录中的所有文件都被git管理,目录下不管做什么操作都会被记录,包括:增加、删除、修改文件等,都会被记录下来,以便后来跟踪与修改相关记录,甚至可以还原到项目中的某个点。从项目的开始到结束,会有两种仓库。一种是源仓库(origin),一种是本地开发者仓库。对于本项目,围绕远端gitlab上的源仓库,每一个开发者都会在本地有一个clone的开发者仓库与源仓库关联。每个开发者都有权限拉取(pull)源仓库的内容阅读,在本地开发者仓库修改并推送到远程源仓库。为了控制不必要的错误修改,源仓库上使用的一些配置,使得源仓库的重要分支无法被开发者直接修改。
## 源仓库
在项目的开始,首先构建起一个项目的最原始的仓库,称为origin,以本项目为例源仓库即为gitlab上的bjyi/ldst。在gitlab上的源仓库内邀请团队开发成员(Collaborators)共同管理,项目的所有代码都托管在这个源仓库上,每个团队成员都可以获取并修改源仓库内容。
源仓库的有两个作用:
- 汇总参与该项目的各个开发者的代码
- 存放趋于稳定和可发布的代码
## 开发者仓库
源仓库建立以后,每个开发者需要做的事情就是把源仓库clone到本地,作为自己日常开发的仓库。通过Clone repository就可以将指定的仓库�