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
2 执行 git init
zuo@DESKTOP-QN47U5R MINGW64 /d/test
$ git init
Initialized empty Git repository in D:/test/.git/
test/ 目录下 新出现一个 .git 文件夹
打开 .git 文件夹,其目录结构如下
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)
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 / 目录下。