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