软件构造学习笔记(3)

第三讲 软件构造过程与配置管理

软件开发模型
两种基本类型:

  线性过程(瀑布过程、增量过程);

  迭代过程(原型过程、螺旋模型)。

敏捷开发:通过快速迭代和小规模的持续改进,以快速适应变化。

需要极限的用户参与,极限的小步骤迭代,极限的确认/验证。

 

 

 

 

 

SCM与VCS(版本控制系统)
SCM:追踪和控制软件的变换,核心是版本控制和基线的确立。

  

SCI:软件中发生变化的基本单元(如文件)。

CMDB:配置管理数据库,存储软件的各配置项随时间发生变化的信息和基线。

VCS的种类:本地、集中式、分布式

Git作为SCM工具

Git 存储库包含三个部分:

– 本地的 CMDB
– 工作目录:本地文件系统
– 暂存区:隔离工作目录和 Git 仓库

每个文件属于以下三种状态之一:

已修改
– 已暂存
– 已提交

历史图中的每个节点都是项目的提交,也就是版本,即项目的修订:当时所有文件的完整快照。

– 每个 commit 指向一个父亲
– 多个commit指向同一个父亲:分支
– 指向两个父亲:合并
▪ 每个分支仅仅是一个指针
▪ HEAD 指向当前commit.

– git每次只会存储发生变化的文件,未变化的无需重复存储

 


Git的所有操作都是在一个图数据结构(对象图)上进行的。该对象图存储于.git中。

对象图是版本之间演化关系的图。 A->B表示在verB基础上变化形成verA.

commit会构成对象图中的结点,HEAD指向现在的工作点。

 

传统的VCS记录变化的基本单位是行,而Git是文件,Git中不变化的文件不重复存储。

Git的指令是一个重点。主要的git的操作有:

git add

git status

git diff

git diff --cached

git commit

git commit -a (跳过暂存区,Git自动把所有已经跟踪过了的问价暂存起来一并提交,跳过了git add的步骤)

git rm

git remote

git remote add URL

git fetch

git pull

git push origin master

git remote show origin

git remote rm

git checkout -b dev <=> git branch dev

git checkout dev

git merge dev

git branch -d dev(删除分支)

软件开发的总体过程

posted @   TongL_Roy  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示