学习目的
1. 了解软件配置项、版本、基线的概念
2. 掌握配置管理的要点和方法
3. 掌握配置管理工具GitHub的使用
学习内容
1. 软件配置项、版本、基线的概念
2. 配置管理的要点和方法
3. 配置管理工具GitHub的使用
学习产出
一、软件配置管理
1.概念:一种标识,组织和控制修改的技术
2.作用时间:整个软件的生命周期
3.目的:使错误达到最小并且有效提高生产率
4.相关概念:
- 软件配置项:为了配置管理而作为单独实体处理的一个工作产品或软件 (文档数据,源代码,目标代码,构造软件的工具和运行环境)。
- 版本:明确定义的时间点上某个配置项的状态。
- 版本管理:系统对不同的版本进行标识和跟踪的过程,保证了软件技术状态的一致性。
- 基线:软件配置项的一个稳定版本,进一步开发的基础,只有通过正式的变更控制过程才能改变。标志这一个开发阶段的结束
二、相关问题
1.版本控制问题
- 问题场景:两个程序员同时修改同一个代码文件,出现场景覆盖问题。
- 问题解决方案:
- 独占工作模式:类似于数据库中的读锁,当一人在写时,不允许另外一人读取。
- 并行工作模式:两人同时修改文件,一人先存入后,另外一人再次存入时会收到提醒,在另外一人down下最新更改的文件,比对修改后,再次存入。
2.分支管理
- 分支:包含一个项目的文件树及其发展的历史,记录了一个配置项的发展过程。
三、git
1.基本概念:git属于分布式版本控制系统,以版本库为控制单位,有远端版本库和本地版本库。
2.git版本库的操作:
- 创建于提交
- 克隆到本地
- 从远端版本库拉取
- 提交到远端
- 撤销变动
- 修改提交
3.分支与分支的操作
- 合并
- 冲突处理:合并时会出现冲突内容,需要手动合并
- 删除:合并完成,不需要后就可以进行删除操作
四、总结反思
本周学习了关于一个多人协作的软件,在开发过程中可能会遇到的问题,以及前人总结出来的一些方法以及工具的使用,我们要站在巨人的肩膀上面看世界,系统的学习前人的工作经验有助于下一步我们着手进行软件开发项目。