工作区 | 就是你在电脑里能看到的目录。 |
---|---|
暂存区(stage 或 index) | 一般存放在 .git 目录下的 index 文件(.git/index)中, |
版本库 对象库 仓库 |
理解成一个目录,这个目录里面的所有文件都可以被Git管理起来 每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 |
master | 是 master 分支所代表的目录树。 |
HEAD | 指向 master 分支的一个”游标”。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。 |
git add | 工作区→暂存区→对象库 - 工作区:修改或新增了文件 - 暂存区:更新了目录 - 对象库:修改或新增的文件写入到新的对象中,对象的ID记录在暂存区的索引文件中。 |
git commit | 暂存区→版本库(对象库) 暂存区的目录树写到版本库(对象库)中 master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。 |
git reset HEAD | 暂存区→版本库(对象库) 暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。 |
git rm —cached |
直接从暂存区删除文件,工作区则不做出改变。 |
git checkout | 用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。 |
git checkout HEAD | 用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。 |
**