Revision control
Revision control |
定义:对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。 #是软件配置管理的核心思想之一。 目的:#1 追踪文件变更。包括 时间、提交者、提交内容等。 #2 并行开发。[通过 分支与合并,解决 不同版本软件的Bug。 特点:每次文件改变,文件的版本号都将增加 核心:documentation control文档控制,记录改动、并为改动编上序号。 |
一内容与流程 |
内容:检入检出控制、分支、合并、历史记录 ##1.同步控制实质是版本的检入检出控制。 ##检入,把软件配置项从用户的工作环境,存入到软件配置库的过程。 ##检出,把软件配置项从软件配置库取出,到用户的工作环境的过程。 ##2.分支, ①拷贝: 拷贝主版本 \ ②标记:标记拷贝版本 ##3.合并, ①将A版本内容附加到B版本内容 \ ② 合并A版本与B版本的内容,形成C版本。 ##4.历史记录:版本号、版本修改时间、版本修改者、版本修改内容等。id\time\author\description 流程:创建配置项、修改状态、技术评审或领导评审、正式发布、变更。 ##1.创建配置项:在配置库创建配置项,设置状态为"草稿", 版本号格式0.YZ ##2,修改状态: Check in/Check out,修改处于“草稿”状态的配置项,版本号格式0.YZ ##3.技术评审或领导评审:技术文档\计划类文件 ##4.正式发布:配置项通过评审,状态从"草稿"变为"正式发布", 版本号格式X.Y ##5.变更: 安装"变更控制流程",修改"正式发布"状态的配置项 |
GIT 分布式版本控制系统
一概念 |
定义:一个开源的分布式版本控制系统。Linux内核 优势:Git 最为出色的是合并跟踪(merge tracing)能力 操作: #创建版本库 git init #添加内容 git add #提交内容 git commit ##状态提示 git status ##比较差异 git diff #管理分支 git branch ##创建分支 ##删除分支 -d git branch -d $ git branch -d branch-name ##合并分支 merge ##逆转恢复 git reset |
SVN 分支管理的版本控制系统
一概念 SVN Subversion |
定义: 优势: ## 存储类型格式 基于关系数据库的(BerkleyDB)或一系列二进制文件的(FS_FS) ## 速度 网络传输慢,但支持离线模式 ## 标志&分支 #标志= #分支=仓库内部的目录 ## 元数据 文件命名可重复,以版本划分 ## 文件类型 ## 回滚 项目末尾-状态版本 merge操作\ 不允许提交后回滚 ## 事务 支持"零或一"事务原则 ## 运行方式: 独立服务器\借助apache 数据存储: BDB(事务安全型表类型)\FSFS(无需数据库的存储系统) |
二使用 |
1、从服务器下载项目组最新代码。 2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。 3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。 |