软件的构造过程:
分为线性过程迭代过程具体如图:
SCM:
软件配置管理:追踪和控制软件的变化
基线:软件持续变化过程中的“稳定时刻”(例如:对外发布的版本)
CI:软件配置项:软件中发生变化的基本单元(例如:文件)
CMDB:配置管理数据库 存储软件的各配置项随时间发生变化的信息 +基线
VCS:
Local VCS 本地版本控制系统: 仓库存储于开发者本地机器 无法共享和协作
Centralized VCS 集中式版本控制系统:仓库存储于独立的服务器, 支持多开发者之间的协作
Distributed VCS 分布式版本控制系统:仓库存储于独立的服务器+每个开发者的本地机器
Git:
工作原理:
git管理的文件都是以blob类型存在,而目录则以tree的形式存在,tree内部可以引用若干个blob文件和tree文件,commit类型内部可以引用一个tree类型的文件和一个commit类型的文件。
git是个使用非常广泛的版本控制工具,作为一名开发人员,需要对git的工作原理进行深入的了解,才能更好的结合到项目开发中。
想要了解git的工作原理,建议大家就从理解git的操作对象入手,因为整个的git流程是基于对象的。
一. blob对象
可以看做是文件的快照(相当于备份文件)。使用git每 add一次,文件就会产生一个blob对象,并产生一个哈希校验值为名的文件保存在本地的对象库中,也就是object文件目录中,文件夹除外。
二.tree对象
在git commit之后,就会产生一个tree对象,tree对象保存的是提交的文件目录结构,每次提交之后都会产生一个tree,保存每次提交的文件对应的目录结构,如果是重复提交的文件,就会保存指向于之前的blob对象。
三.commit对象
每次git commit之后,同时会产生一个commit对象,commit对象记录了当前的tree对象,上次提交对象,以及相关的提交信息。通过commit对象,可以完成git 的版本回退操作。
git结构
本地的CMDB –Working directory (local file system)
工作目录:本地文件系统 –Staging area (in memory)
暂存区:隔离工作目录和Git仓库
git基本指令:
git add . 添加所有文件(add与“.”之间有空格,否则不识别的语法,提交所有文件)
git commit -a -m 'version 1.2' 提交所有修改文件
git remote add origin git@github.com:somenone/testGit.git 提交远程仓库(用SSH的形式,关联一个远程仓库)
git push -u origin master 推送远程仓库