ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### Git工作区、暂存区、版本库 > 这是什么鬼???(黑人问号)~ ![](https://img.kancloud.cn/89/9c/899c68235dcec0526207a227b9db72a7_683x357.jpg) * 工作区 -- 我们电脑中看到的目录(文件)。 * 暂存区(索引区) -- 经常跟我们打交道,动不动就闹脾气,英文称为stage(或者叫index),随你怎么叫,你开心就行... * 版本库 -- 工作区有个隐藏的`.git`文件,这个不算工作区,而是Git的版本库(包含了所有的分支)。 ***** 1. 当在工作区`git add .`的时候,会把相应文件添加到暂存区。文件内容也会被写入到`objects`中,同时该对象的ID会被记录在暂存区的索引中。 2. 当使用`git rm --cached `的时候,会直接从暂存区删除文件,工作区则不做出改变。 3. 当执行 `git checkout .` 或者 `git checkout -- <file>` 命令时,会用暂存区或指定的文件替换工作区的文件。这个操作会清除未添加到暂存区已改动的文件。 4. 当执行 `git checkout HEAD .`或者 `git checkout HEAD`命令时,会用HEAD指向的分支中所有的文件替换暂存区以及工作区中的文件。