https://www.jianshu.com/p/a308acded2ce            这个博客介绍的比较简单

https://blog.csdn.net/qq_31828515/article/details/62893425     这个博客介绍的比价详细,比较全面

工作区:(working directory)

  将一个文件夹通过git init 设置成一个git可以管理的文件夹时,这个文件夹里的内容就是工作区

版本库:(repository)

  当工作区生成后(git init),在Linux下用 ls -a 查看可以发现

  除了 . / ../ 还有个 .git

  这个 .git 就是版本库

暂存区:(stage/index)

  暂存区,叫stage 或者 index ,是用来暂时存放工作区中修改的内容;

  可以理解为一个中转站

一个简单的例子:

  1 新建 test/目录,在当前目录下新建t.txt

git  以及 工作区 版本库 暂存区-LMLPHP

  2  执行 git init

zuo@DESKTOP-QN47U5R MINGW64 /d/test
$ git init
Initialized empty Git repository in D:/test/.git/

  test/ 目录下 新出现一个 .git 文件夹

  git  以及 工作区 版本库 暂存区-LMLPHP

  打开 .git 文件夹,其目录结构如下

  git  以及 工作区 版本库 暂存区-LMLPHP

  3  执行 git add .

zuo@DESKTOP-QN47U5R MINGW64 /d/test (master)
$ git status
On branch master No commits yet Untracked files:
(use "git add <file>..." to include in what will be committed) t.txt nothing added to commit but untracked files present (use "git add" to track) zuo@DESKTOP-QN47U5R MINGW64 /d/test (master)
$ git add .

  此时,.git 文件夹 新出现 index 文件,这就是暂存区(stage)

  git  以及 工作区 版本库 暂存区-LMLPHP

  4 执行 git commit,git checkout -b xx

zuo@DESKTOP-QN47U5R MINGW64 /d/test (master)
$ git branch
* master zuo@DESKTOP-QN47U5R MINGW64 /d/test (master)
$ git checkout -b xx
Switched to a new branch 'xx' zuo@DESKTOP-QN47U5R MINGW64 /d/test (xx)
$ git branch
master
* xx

  这个时候,当前切换到分支 xx。

  所有的 分支都在 .git / refs / heads / 目录下。

  git  以及 工作区 版本库 暂存区-LMLPHP

05-18 18:26