让前端飞git及github学习Git使用

Git学习笔记(3) --- 工作区与暂存区

2019-02-01  本文已影响0人  AHOhhhh

在学习git的过程中,几乎不可避免的会接触到暂存区工作区的概念,而这个概念在git的整个使用过程中是非常重要的。

三个区域

three areas

在git中有三个重要的区域:

  1. 工作区(Working Area): 存放目前正在编辑的文件,以及git未跟踪的文件
  2. 暂存区(Staging Area): 存放已经Add的即将提交的文件,git通过这个区域可以判断出即将要做的提交和当前的提交有哪些改变
  3. 本地仓库(Repo): 本地历史版本

基本Git流程

  1. 当我们新建了一个git 未跟踪的文件时,使用git status查看状态时,可以开到当前的文件状态是Untracked files:
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        text.txt

nothing added to commit but untracked files present (use "git add" to track)
  1. 当我们编辑完一个或者多个文件后,使用git add时,文件就已经到达了暂存区了,此处的状态是:
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   text.txt

3.当我们使用git commit命令时,文件就已经存到仓库里面了,此时的状态是:

On branch master
nothing to commit, working tree clean

更多的git的流程如下图所示:


git流程

注意

需要注意的是,当我们提交了一个版本后,很多文章说的是此时的暂存区就是空的,如同下图:


git commit

但是实际情况不是这样的,我们可以使用git ls-files -s查看当前的暂存区有哪些文件,实际情况是:

$ git commit -m "first commit"
[master (root-commit) 37295f8] first commit
 2 files changed, 1 insertion(+)
 create mode 100644 1.txt
 create mode 100644 2.txt

$ git ls-files -s
100644 6b5464175c9aef33e563df00302ea570184939f5 0       1.txt
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0       2.txt

可以看出,在我们commit之后,暂存区实际上并不是清空的,当前的暂存区可以看做是对上一次提交的一个拷贝!

如果对本文有什么意见和建议,欢迎讨论和指正!!!

上一篇下一篇

猜你喜欢

热点阅读