当前位置:网站首页>【HIT-SC-MEMO2】哈工大2022软件构造 复习笔记2
【HIT-SC-MEMO2】哈工大2022软件构造 复习笔记2
2022-08-04 05:32:00 【XMeow】
二、软件构造过程
2.1 软件配置管理SCM与版本控制系统VCS
SCM ≥ VCS
软件配置管理SCM
追踪和控制软件的变化
软件配置项SCI:软件中发生变化的基本单元(文件:Component-Level)
版本控制系统VCS
本地版本控制系统:仓库存储于开发者本地机器,无法共享和合作
集中式版本控制系统:仓库存储于独立的服务器,支持多开发者之间的协作
分布式版本控制系统:仓库存储于:独立的服务器 + 每个开发者的本地机器
2.2 Git
基本指令
添加文件:git add xxx.xxx
提交文件:git commit -m "message"
push到远程仓库:git push origin master
从远程仓库pull:git pull origin master
管理变化
分支Branch和合并Merge
新建分支:git checkout -b branch_name
切换分支:git checkout branch_name or git checkout master
选择一个分支与当前分支合并:git merge branch_name2(之前已有指令git checkout branch_name1)
工作原理和结构
Object Graph
版本之间的演化关系图
一条边A->B表征了“在版本B的基础上作出变化,形成了版本A”
Commit
每个commit指向一个父亲
分支:多个commit指向一个父亲
合并:一个commit指向两个父亲
管理变化:
Git存储发生变化的文件(而非代码行),不变化的文件不重复存储
Commits: nodes in Object Graph
2.3 GitHub
边栏推荐
猜你喜欢
file permission management ugo
C语言对文件的操作(完整版)
Shell脚本执行的三种方式
位段-C语言
Question 1000: Input two integers a and b, calculate the sum of a+b, this question is multiple sets of test data
arm学习-1-开发板
How to get started with MOOSE platform - an example of how to run the official tutorial
2020-03-27
第三章 标准单元库(上)
LeetCode_Dec_3rd_Week
随机推荐
结构体内存对齐-C语言
【五一专属】阿里云ECS大测评#五一专属|向所有热爱分享的“技术劳动者”致敬#
文件编辑器
Windows10重置MySQL用户密码
Machine Learning - Processing of Text Labels for Classification Problems (Feature Engineering)
基于Webrtc和Janus的多人视频会议系统开发5 - 发布媒体流到Janus服务器
MySQL索引
Tencent and NetEase have taken action one after another. What is the metaverse that is so popular that it is out of the circle?
安装pyspider后运行pyspider all后遇到的问题
(位操作符)按位与、按位或、按位异或
安装MySQL的详细步骤
[日常办公][杂项][vscode]tab space
最全的最详细的指针讲解(C语言)
2022在 Go (Golang) 中使用微服务的系统课程
基于Webrtc和Janus的多人视频会议系统开发7 - publish和subscribe声音设备冲突导致对方听不到声音
淘宝分布式文件系统存储引擎(一)
MySQL基础
Pipe redirection
SFTP的用法
抽象类、内部类和接口