毕业论文
您现在的位置: 版本控制 >> 版本控制介绍 >> 正文 >> 正文

版本控制系统之git

来源:版本控制 时间:2022/8/8
北京手足癣哪里医院好 http://m.39.net/baidianfeng/a_8833423.html

一、简介

git是Linux内核项目发起者linus用C语言写的,主要用来做项目的版本控制追踪;git是无中心节点的分布式版本控制系统,也是目前很流行的版本控制系统;其安装简单,使用简单;相比传统的cvs和svn,git要比前两者都要方便,前两者是有中心节点的版本控制系统,有中心节点就意味着,每次提交代码都得连接到中心节点(仓库),然后才能提交代码,提交代码(项目)依赖网络;而git在没有网络的情况下也支持提交代码到本地的对象库中;这样一来使得git使用非常方便;

git整体架构

提示:以上是git的一个大概的工作逻辑图,git版本控制系统主要由本地工作空间,本地仓库和远程仓库三部分组成;本地工作空间中包含本地仓库,本地仓库中主要有索引和对象库;用户在本地空间初始化一个项目,就相当于在本地创建了一个本地git仓库,其表现形式上在用户的工作目录下有一个.git的隐藏目录;用户要把本地的文件提交到远程仓库,首先得将文件添加到本地仓库中的索引中去,然后再把索引中的内容提交到本地对象库中存储;然后再从本地push一份到远程仓库;用户提交项目到远程仓库的过程就是这样;当然用户从远程仓库可以直接克隆远程仓库到本地;

git本地仓库结构

提示:本地git仓库主要由工作目录、索引和对象库组成;在用户执行gitinit后,就把对应的工作目录初始化为git本地仓库;

gitadd在本地仓库中的表现

提示:以上表示用户执行git后,在本地仓库中的表现;用户在工作目录里有绿蓝两个文件,在执行gitadd后,它会在索引(暂存区)生成对应文件的索引信息,其索引主要记录文件的hash码和对应在对象库中的文件一个关联关系;这样一来git就可以追踪这两个文件的变化;如果此时我们在工作目录中继续编辑这两个文件,后续我们想知道我们编辑了那些内容,就可以把工作目录中的文件同对象库中的文件做对比;工作目录中的文件和对象库中的文件不同的是,在工作目录中的文件表现为两个正常的文件名,而在对象库中,这两个文件的文件名不再是工作目录中的文件名,而是把对应文件的内容做hash以后,把hash码当作文件的名称;

git

转载请注明:http://www.0431gb208.com/sjszlfa/1237.html

  • 上一篇文章:
  • 下一篇文章: