Git教程(4)- 理解工作区与暂存区的区别

2020年8月24日16:08:31 评论 51

1、工作区域

Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

  • Workspace:工作区,就是你平时存放项目代码的地方。
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

本地的三个区域确切的说应该是git仓库中HEAD指向的版本

Git教程(4)- 理解工作区与暂存区的区别

  • Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
  • WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。
  • .git:存放Git管理信息的目录,初始化仓库的时候自动创建。
  • Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
  • Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。
  • Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。

2、工作流程

git的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
Git教程(4)- 理解工作区与暂存区的区别

3、实践操作

工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

版本库(Repository)工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

我们前面说过使用Git提交文件到版本库有两步:

  第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。

  第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

我们继续使用demo来演示下:

我们在readme.txt再添加一行内容为4444444,接着在目录下新建一个文件为test.txt 内容为test,我们先用命令 git status来查看下状态,如下:

Git教程(4)- 理解工作区与暂存区的区别

现在我们先使用git add 命令把2个文件都添加到暂存区中,再使用git status来查看下状态,如下:

Git教程(4)- 理解工作区与暂存区的区别

接着我们可以使用git commit一次性提交到分支上,如下:

Git教程(4)- 理解工作区与暂存区的区别


继续阅读:Git教程

Git教程(1)- 简介和安装
Git教程(2)- 创建版本库
Git教程(3)- 版本回退
Git教程(4)- 理解工作区与暂存区的区别
Git教程(5)- 撤销修改和删除文件操作
Git教程(6)- 操作远程仓库
Git教程(7)- 创建与合并分支
Git教程(8)- bug分支
Git教程(9)- 多人协作
Git教程(10)- Git基本常用命令
Git教程(11)- Git命令图解剖析(进阶)

回到目录页Git教程 - 目录

(转载自:https://www.cnblogs.com/tugenhua0707/p/4050072.html)

素课网
  • 本文由 发表于 2020年8月24日16:08:31
  • 转载请注明:https://www.suketech.com/9405.html
Git教程(10)- Git基本常用命令 Git教程

Git教程(10)- Git基本常用命令

我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下...
Git教程(9)- 多人协作 Git教程

Git教程(9)- 多人协作

当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。 要查看远程库的信息 使用 git remote 要查看远程库的详...
Git教程(8)- bug分支 Git教程

Git教程(8)- bug分支

在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。 比如我在开发中接到一个40...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: