手机版

Git教程的工作空间、暂存区和版本库的详细说明

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

Git工作区、暂存区和版本库

基本概念

让我们先了解一下Git工作区、暂存区和版本库的概念

工作区:是你在电脑上可以看到的目录。临时存储区:英文称为stage或index。一般存储在索引文件(。git/index)下的‘git目录’,所以我们有时称之为临时存储区索引。版本库:工作区有一个隐藏目录。Git,它不是工作空间,而是git的版本库。

下图显示了工作区、版本库中的暂存区和版本库之间的关系:

工作区在左边,版本库在右边。版本库中标有‘index’的区域为stage,index),标有‘master’的区域为master分支所代表的目录树。

在图中,我们可以看到“HEAD”实际上是一个指向主分支的“光标”。因此,HEAD在图示命令中出现的位置可以由master替换。

图中由对象标记的区域是Git的对象库,它实际上位于。git/objects '目录,包含各种创建的对象和内容。当对工作区修改(或新增)的文件执行‘git add’命令时,更新临时存储区的目录树,将工作区修改(或新增)的文件内容写入对象库中的新对象,并将该对象的ID记录在临时存储区的文件索引中。

当执行git commit时,暂存区的目录树被写入版本库(对象库),主分支将相应更新。也就是说,主控指向的目录树是提交时临时存储区的目录树。

执行‘git reset HEAD’命令时,暂存区的目录树将被重写,并被主分支指向的目录树替换,但工作区不会受到影响。

当执行命令' gitr m-cache file '时,该文件将直接从暂存区中删除,工作区不会改变。

执行“git签出”时。或者' git checkout - file '命令,工作区中的文件将被临时存储区中的所有或指定文件替换。此操作很危险,它将清除工作区中尚未添加到便笺簿的更改。

执行“git结账头”时或者‘git check HEAD file’命令,HEAD指向的主分支中的全部或部分文件将替换暂存区和工作区中的文件。这个命令也非常危险,因为它不仅会清除工作区中未提交的更改,还会清除暂存区中未提交的更改。

版权声明:Git教程的工作空间、暂存区和版本库的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。