git完全教程:004—Git的工作区与暂存区

目录

  • 名词解释
    • 工作区(Working Directory)
    • 版本库(Repository)
  • Git工作流程
    • 举例

Git与其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。

名词解释

工作区(Working Directory)

就是你在电脑里能看到的目录,比如我的learnGit文件夹就是一个工作区:
git完全教程:004—Git的工作区与暂存区_第1张图片
git完全教程:004—Git的工作区与暂存区_第2张图片

版本库(Repository)

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

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

git完全教程:004—Git的工作区与暂存区_第3张图片
分支和HEAD我们以后再说

Git工作流程

把文件像Git版本库中添加分如下两步进行

  • 1、用git add把文件添加进去,就是将文件修改添加到暂存区
  • 2、用git commit提交更改,就是将文件从暂存区提交到当前分支
    我们再创建Git仓库时,Git自动为我们创建了唯一一个master分支,即git commit就是往master分支上提交更改。

可以理解为:所有文件的更改被记录在暂存区,然后一次性提交所有更改。

举例

下面做个实践:
工作区新增一个文本文件license,内容随便
readme.txt内容改为

Git is free software.The 3st update

git status查看状态
git完全教程:004—Git的工作区与暂存区_第4张图片
通过Git的信息,我们可以得知readme.txt被修改了,liscense没有在仓库中,所以它的状态时untracked未追踪。

现在git add讲他们都添加进来

git add readme.txt license

在用git status查看
git完全教程:004—Git的工作区与暂存区_第5张图片

暂存区的状态如下

git完全教程:004—Git的工作区与暂存区_第6张图片

所以git add的命令实际上就是把所有要提交的修改放到暂存区(stage),然后git commit就可以一次性把暂存区的所有修改提交到分支

git commit -m "3rd update"

git完全教程:004—Git的工作区与暂存区_第7张图片
一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:
git status
在这里插入图片描述
现在版本库变成了这样,暂存区就没有任何内容了:
git完全教程:004—Git的工作区与暂存区_第8张图片

你可能感兴趣的:(Git完全教程,git,github)