当前位置: 首页 > 工具软件 > SCM Manager > 使用案例 >

软件构造期末复习总结【一】:关于SCM和Git的一些概念整理

李振国
2023-12-01

目录

0.前言

1.SCM

1.1 一些概念

1.2 对于SCM的一些解释以及个人理解

2.Git

2.1 一些概念

2.2 Git的一些基本指令


0.前言

期末复习的时候感觉这部分的概念有点生疏了。于是结合课上内容和课下查到的资料写了这篇。

1.SCM

1.1 一些概念

1.SCM,全称Software Configuration Management,中文翻译为软件配置管理,用于控制和追踪软件的变化,其核心是版本控制和baseline的确立。

2.SCI(Software Configuration Item),即软件配置项,是SCM的基本单元,也是软件中发生变化的基本单元(比如代码行,文件等)。

3.baseline(直译为“基线”,但是个人感觉记住这个直译过来的中文名字反而不好理解,所以下面提及这个概念时我会用baseline而不是中文名字):软件持续变化中的“稳定时刻”,这里举个栗子,比如java对外发布的稳定版本,比如jdk8,jdk11(这里在我第一篇博客里似乎提过)。

4.CMDB:配置管理数据库,存储软件的各配置项随时间变化的信息和baseline。

1.2 对于SCM的一些解释以及个人理解

       SCM是一种标识、组织和控制修改的技术。它应用于整个软件生存期。在软件建立时会经常产生变更,而变更加剧了项目中软件人员之间的混乱。之所以产生混乱,是因为在进行变更前没有仔细分析,或没有进行变更控制。因为变更在任何时刻都可能发生,因此软件配置管理活动的目标就是为了标识变更,控制变更,确保变更正确地实现,向其他有关的人报告变更。软件配置管理是一组追踪和控制活动,它们开始于软件开发项目开始之时,结束于软件被淘汰之时。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。

       软件配置管理在整个软件的开发活动中占有很重要的位置。正如Pressman所说的:“软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计来标识变化,控制变化,保证变化被适当的发现,以及向其他可能有兴趣的人员报告变化。” 所以,我们必须为软件配置管理活动设计一个能够融合于现有的软件开发流程的管理过程,甚至直接以这个软件配置管理过程为框架,来再造组织的软件开发流程。

       说白了SCM就是一个类似经理的角色,在软件的生命周期中对各个开发者的行为起到统筹、管理的作用。

2.Git

2.1 一些概念

1.Git:Git是SCM的一个工具,换句话说,Git是实现SCM的一个具体的方法。

2.一个本地的Git 仓库有三个部分组成:

    ①.git目录:对应到本地的CMDB,存储所有的版本控制数据。

    ②工作目录:本地文件系统。

    ③暂存区:隔离工作目录和Git仓库

3.在Git仓库中的每一个文件处于以下三种状态之一:Modified(已修改) 、Staged (已暂存)、Commited (已提交)。

4.对象图(Object Graph):版本之间的演化关系图,一条边 B->A表征了“在版本A的基础上作出变化,形成 了版本B”。我们通过Git使用的所有操作,如clone,add,commit等都是在一个图形数据结构下进行的,该结构存储着项目中所有文件的版本,以及描述这些文件的日志条目。对象图存储在我们的.git目录中,当我们复制一个git项目时意味着复制了整个的对象图。

2.2 Git的一些基本指令

放一个Git的中文指导书链接:Git - Book (git-scm.com)

1.初始化仓库,把这个仓库纳入Git管理的范围:2.

git init

2. 把文件添加到版本库中。

使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件(夹)。或者是git add 文件名:

git add.

git add filename

 3.commit到主分支:

git commit -m

4.从现有仓库克隆代码到本地:

git clone URL  //URL是服务器上的链接 

5.查看当前文件状态:

git status

 类似资料: