Git基础知识
我们需要一个版本控制来跟踪我们的代码,从而更好地解决冲突。
Git的特点
(1)高效的数据存储方式
和其他的版本控制软件不同地是,Git并不以文件表跟列表的方式存储信息,而是采用了快照流的方式对信息进行存储。
在Git提交更新时,git会对项目全部文件创建一个快照并保存这个快照的索引。当再次提交,更新的时候,如果存在没有修改的文件,那么git只保留一个链接指向之前存储的文件,而不再重新存储该文件,这样就提高了存储效率。
(2)几乎所有操作在本地执行
在git中,绝大部分的操作访问本地文件和资源都无需联网
(3)具备数据完整性保障
在git中,任何操作都在被操作前需要使用SHA-1散列计算校验来保障数据的完整性。
Git的工作流程
(1)已修改:表示修改了文件但还没有保存到数据库
(2)已暂存:表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
(3)已提交:表示数据已经安全地保存在本地数据库中
Git项目地三个结点
对应上面的三种状态,会有三个阶段,为工作区,暂存区和Git目录。
(1)工作区
工作区时从git仓库提取出来的数据,也就是我们本地看到的代码目录,这里改动的代码都在已修改状态。
(2)暂存区
暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在Git仓库目录中。当处于已修改状态的文件被放入暂存区(Git Add)时,这些文件则会变为已暂存状态。
(3)Git目录
Git仓库目录是Git用来保存项目的元数据和对象数据库的地方。从其他计算机克隆仓库时,复制的就是这里的数据。当暂存区的文件被提交(Git Commit),则这些文件属于已提交状态。