首先我们要明确Git是什么?
Git定义:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
Git理论是什么?
对于Git来说,Git有3个不同的工作区域。如果包括线上的,则为4个。
1.工作目录(本机存放的项目代码)
2.缓存区域(作为缓存,临时存放变动,实际中它只是个文件,存放着即将需要提交的文件信息)
3.仓库区域(安全存放数据的区域,每当我们commit之后,会将你的数据保存到此处)
4.远程仓库区域(托管代码的服务器,是本机仓库与服务器上的远程进行数据交换的区域,每当我们使用push时候,会将本地仓库区域的提交到远程仓库区域中)
工作流程是什么?
如下图:
git的工作流程一般是这样的:
1.在工作目录中添加、修改文件;
2.将需要进行版本管理的文件放入暂存区域;
3.将暂存区域的文件提交到本地仓库区。
4.本地库区push到远程仓库
Git文件状态有几个?
1.Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add
状态变为Staged
2.Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified
. 如果使用git rm
移出版本库, 则成为Untracked
文件
3.Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add
可进入暂存staged
状态, 使用git checkout
则丢弃修改过, 返回到unmodify
状态, 这个git checkout
即从库中取出文件, 覆盖当前修改
4.Staged: 暂存状态. 执行git commit
则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify
状态. 执行git reset HEAD filename
取消暂存, 文件状态为Modified