Git — 工作区和暂存区

工作区(Working Directory)

gitspace 文件夹(目录)就是一个工作区

版本库(Repository)

工作区有一个隐藏目录 .git,这个是 Git 的版本库。
Git 的版本库里存了好多东西,其中最重要就是 stage(或者index)的暂存区,Git 自动创建的第一个分支 master,以及指向 master 的指针叫 HEAD

在这里插入图片描述
分析一下把文件往 Git 版本库里添加的原理:

  1. 执行 git add 把文件添加进去,实际上是把文件添加到缓存区;
  2. 执行 git commit 提交更改,实际上是把缓存区的所有内容提交到当前分支。

验证

  1. 先对 readme.txt 修改,并在工作区新增一个 LICENSE 文本文件;

    Git is a distributed version control system.
    Git is free software distributed under the GPL.
    Git has a mutable index called stage.
    
  2. 执行 git status 查看一下状态,readme.txt 被修改了,而 LICENSE 还从来没有被添加过,所以它的状态是 Untracked

    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
    	modified:   readme.txt
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
    	LICENSE
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
  3. 执行两次命令 git add,把 readme.txt 和 LICENSE 都添加后,用 git status 再查看一下;实际上是把文件添加到缓存区

    $ git status
    On branch master
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
    	new file:   LICENSE
    	modified:   readme.txt
    

在这里插入图片描述

  1. 执行 git commit 就可以一次性把暂存区的所有修改提交到分支;

    $ git commit -m "understand how stage works"
    [master e43a48b] understand how stage works
     2 files changed, 2 insertions(+)
     create mode 100644 LICENSE
    

    一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是 “干净” 的:

    $ git status
    On branch master
    nothing to commit, working tree clean
    

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值