Git版本控制系统管理

2022-12-28 0 680

Git是两个完全免费的、开放源码的分布式系统版控制技术,能用作历史记录两个或是二个文档文本的变动,方便快捷翻查或是修正。

Git官方网站:https://git-scm.com/

1、常用的版控制技术

1.1、封闭式版控制系统(SVN、CVS、perforce)

封闭式版控制技术的左图如下表所示:

Git版本控制系统管理

特征:

1)一定会有两个华北局伺服器;
2)缺点是大部份使用者都能看见预发的文档或是历史记录,图书馆员也很方便快捷掌控每一人的职权;

3)缺点是假如华北局伺服器出机械故障的这时候,大部份使用者都无法展开上传、下载、预览等;

1.2、分布式系统版控制技术(Git、BitKeeper)

分布式系统版控制技术的左图如下表所示:

Git版本控制系统管理

每一客户端都有备份和历史记录,大家都能查看见版历史记录和修正以后的历史记录。

分布式系统版控制技术存放的不是版与版之间的差异,而是版的索引。

2、Git的工作区、暂存区、版库

使用Git时对其工作区、暂存区和版库这三个的概念是很有必要了解的,了解这三个概念有助于对Git的工作过程有两个比较明确的认知。

那这三个概念都是些什么意思呢?

1)工作区:

就是在电脑上能看见的目录或是文档。简单而言就是你的本地文档。

2)暂存区(stage 或 index):

一般存放在 .git 目录下的 index 文档(.git/index)中,所以也能把暂存区叫作索引(index)。

3)版库:

工作区中有两个隐藏目录.git,这个不算工作区,而是 Git 的版库。

工作区、版库中的暂存区和版库之间的关系如下表所示图所示:

Git版本控制系统管理

上图中左侧为工作区,右侧为版库。在版库中标记为 “index” 的区域是暂存区(stage/index),标记为 “master” 的是 master 分支所代表的目录树。

上图中能看见,此时 “HEAD” 实际是指向 master 分支的两个”指针”。所以图中的命令中出现 HEAD 的地方是能用 master 来替换。

上图中的 objects 标识的区域为 Git 的对象库,位于 “.git/objects” 目录下,里面包含了创建的各种对象及文本。

2.1、一些指令执行时所存在的关联

2.1.1、向暂存区追加文档。

git add xxx

使用 git add 命令时,是对工作区修正(或新增)的文档展开操作的,会将暂存区的目录树预览。

同时,工作区修正(或新增)的文档文本会被写入到对象库中的两个新的对象中,而该对象的ID被历史记录在暂存区的文档索引中。

2.1.2、暂存区文档上传版库。

git commit -m “描述”

当执行提交操作 git commit 时,会将暂存区的目录树写到版库中,master 分支会做相应的预览。即 master 指向的目录树就是提交时暂存区的目录树。

2.1.3、版回退。

git reset HEAD

当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。

2.1.4、删除文档。

git rm –cached <file>

1)当执行 git rm –cached 命令时,会直接从暂存区删除文档,工作区则不做出改变。

2.1.5、检出文档

git checkout . 或 git checkout — <file>

1)当执行 git checkout . 会用暂存区全部的文档替换工作区的文档。或是 git checkout — 命令时,会用暂存区指定的文档替换工作区的文档。这个操作是很危险,会清除工作区中未添加到暂存区的改动。

git checkout HEAD . 或是 git checkout HEAD <file>

2)当执行 git checkout HEAD . 会用 HEAD 指向的 master 分支中的全部文档替换暂存区和以及工作区中的文档。或是 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的部分文档替换暂存区和以及工作区中的文档。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

3、代码托管中心

除了本地库能保存版的信息以外,为了更加方便快捷使用,能在代码托管平台中创建远程库,将本地库和远程库建立连接,实现远程协同的开发。它的好处有:

1)方便快捷团队内部合作开发项目、共同项目管理工作;

2)方便快捷跨团队之间的项目开发合作,使得不同公司、组织之间的合作开发能方便快捷的展开。

4、Git的工作流程

Git的工作流程能归纳如下表所示图所示:

Git版本控制系统管理

总的来说:Git是两个很方便快捷的代码托管平台,使用者能在远程伺服器上建立属于自己的项目资源管理工作库,实现远程和本地的资源同步,本地添加、修正的文档能及时预览到远程伺服器上保存管理工作。

同时也能便利于多人协作开发,及时预览最新的资源库文档当本地的工作区,及时知晓最新的预览进度,加快开发的进度。

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务