这学期的软件构造课程,一点收获就是学习了Git的使用,作为SCM的一个工具,git在版本控制与软件配置管理上起到很大的作用。
在使用git前我们需要掌握一些概念。
Git相关概念
1. 一个本地的Git 仓库有三个部分组成。
①.git目录:为本地的CMDB(配置管理数据库),存储所有的版本控制数据。
②工作目录:本地文件系统。
③暂存区:隔离工作目录和Git仓库
2.Git仓库中的每一个文件处于以下三种状态之一
①Modified 已修改
②Staged 已暂存
③Commited 已提交。
3.对象图(Object Graph)
对象图:版本之间的演化关系图,一条边 B->A表征了“在版本A的基础上作出变化,形成 了版本B”
我们通过Git使用的所有操作,如clone,add,commit等都是在一个图形数据结构下进行的,该结构存储着项目中所有文件的版本,以及描述这些文件的日志条目。
对象图存储在我们的.git目录中,当我们复制一个git项目时意味着复制了整个的对象图。
4.分支合并
分支是在版本控制下复制对象,以便修改使得两个分支平行进行。
合并则是将两个分支合并成一起。
Git的相关指令
关于如何将本地仓库与远程仓库连接在一起
1. 先进入项目文件中,通过命令 git init 把这个目录变成git可以管理的仓库
git init
2. 把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件(夹)。或者是git add 文件名
git add .
git add 文件名
3. commit到主分支
git commit -m "描述"
4. 登录github,把本地仓库提交至远程仓库。接下来你要做的就是复制那个地址,然后你将本地仓库个远程仓库连接起来。
git remote add origin git@github.com:yourname/仓库名.git
5. 进行第一次提交
git push -u origin master
GitHub使用git回退到历史版本
1.查找历史版本,使用git log
命令查看所有的历史版本,获取你git的某个历史版本的id。
假如某个历史版本id为fae6966548e3a5
2.恢复到历史版本
git reset --hard fae6966548e3a5
3.把该版本推送到远程仓库
git push -f -u origin master