在复习阶段发现除了会机械性的上传lab到github上已经关于git的什么都记不住了,在这里稍微讲解一下。
在第三讲中我们学习了Software Configuration Management(SCM),以SCI为软件中发生变化的基本的单元,其中的CDMB是配置管理数据库,存储软件的各配置项随时间发生变化的信息+基线。
而git则是一个SCM tool
在git的仓库中,.git文件时本地的CDMB,工作目录(Working directory)是本地文件系统,暂存区(staging area)隔离了工作目录和git仓库。其中的文件属于三个阶段之一:已修改、已暂存、已提交。
git的所有操作都是在一个图数据结构(对象图 Object Graph)上进行的,从一台机器/服务器复制git项目意味着复制整个对象图。
与传统VCS不同的是,git不是针对版本之间的变化(行)来存储的,而是存储发生变化的文件(而非代码行),不变化的文件不存储。
基本的git命令:
git init //git的初始化
git add . //对全部文件进行跟踪(写入暂存区)
git commit -m "commit" //将暂存区传到本地仓库
git clone url //克隆仓库到本地
git push -u origin master //从本地仓库上传至远程仓库