美文网首页让前端飞git及github学习Git使用
Git学习笔记(3) --- 工作区与暂存区

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

作者: AHOhhhh | 来源:发表于2019-02-01 15:01 被阅读0次

    在学习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之后,暂存区实际上并不是清空的,当前的暂存区可以看做是对上一次提交的一个拷贝!

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

    相关文章

      网友评论

        本文标题:Git学习笔记(3) --- 工作区与暂存区

        本文链接:https://www.haomeiwen.com/subject/gdjcsqtx.html