1.软件配置管理
软件配置管理是为了解决以下一些在编程过程中常常会遇到的问题:
软件配置管理是一种标识、组织和控制修改的技术,它作用于整个软件生命周期,其目的是使错误达到最小并最有效地提高生产率。
2.软件配置项
软件配置项(Software Configuration Item,简称SCI)是为了配置管理而作为单独实体处理的一个工作产品或软件。
3.版本
版本是在明确定义的时间点上某个配置项的状态;版本管理是对系统不同的版本进行标识和跟踪的过程,从而保证软件技术状态的一致性。
4.基线
基线(Baseline)是软件配置项的一个稳定版本,它是进一步开发的基础, 只有通过正式的变更控制过程才能改变。
5.版本控制问题
在程序员的多人合作开发的过程中,版本控制问题是一件非常复杂的事情,将会碰到很多神奇的问题,比如:
为了解决这一个问题,我们可以采取以下几种方式:
独占工作模式
并行工作模式
6.分支管理![](https://img-blog.csdnimg.cn/4f2760142d8241c5a55d774ef75a0ffb.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2t5X2Rvd24=,size_20,color_FFFFFF,t_70,g_se,x_16)
7.软件配置管理工具
8.软件配置管理工具git
基本概念 - 版本库
创建与提交
克隆到本地
从远端拉取![](https://img-blog.csdnimg.cn/2fe0ad8a9d2341eaa509b236d78d4191.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2t5X2Rvd24=,size_20,color_FFFFFF,t_70,g_se,x_16)
提交到远端![](https://img-blog.csdnimg.cn/2c129a41ebf34938a1264ba5a6f0a438.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2t5X2Rvd24=,size_20,color_FFFFFF,t_70,g_se,x_16)
撤销变动![](https://img-blog.csdnimg.cn/28e624778c1f4b68abe422a665e20dfb.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2t5X2Rvd24=,size_20,color_FFFFFF,t_70,g_se,x_16)
修改提交
分支![](https://img-blog.csdnimg.cn/5a150d0e3d1c44b08621e85ef5fe1ed9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2t5X2Rvd24=,size_20,color_FFFFFF,t_70,g_se,x_16)
合并
冲突处理![](https://img-blog.csdnimg.cn/eb0eceb4d1514a78b9d910f7a3e97fae.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2t5X2Rvd24=,size_20,color_FFFFFF,t_70,g_se,x_16)
删除
实例
个人总结 :
对于一个程序员来说,与他人合作开发同一个项目是一定无法避免的一件事,因此使用一些帮助配置管理的软件也是程序员的必修课之一。在上软件工程这门课之前,我就接触过GitHub以及plasticSCM这两款帮助配置管理的软件。在使用的过程中体会到了使用这种软件进行合作开发的必要性,但是同时也遇到了非常多的问题,所以我们更应该在大学期间熟悉这类软件的操作,越早的遇到问题并学会如何解决问题对我们的好处越大。
在本门课程的小组项目中,我们选择使用GitHub来进行版本的控制与管理,主要原因是因为GitHub是当前世界上用户群体最多的版本控制软件,希望我们可以在本门课程的学习过程中学会如何使用这款软件。