2024-08-15 22:08:20 +02:00
|
|
|
### 2.2.2
|
|
|
|
|
|
|
|
.git/index 是包含索引的目录树,这个目录树记录了文件名,文件等状态信息
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
`HEAD`指向当前的分支,图中的master中有一个git独特的存储方式,可以在不同的commit之间切换. master就是一个分支
|
|
|
|
|
|
|
|
git add就是把工作去的内容先加到暂存区,分支还没有被更改
|
|
|
|
|
|
|
|
如果想更改分支里的内容,就要commit中
|
|
|
|
|
|
|
|
`git rm --cached <file>`从暂存区中删除文件
|
|
|
|
|
|
|
|
`git reset HEAD` 替换暂存区为HEAD指向的分支的内容(清除暂存区)
|
|
|
|
|
|
|
|
`git checkout -- <file>` 从暂存区中拿出文件替换工作区的内容
|
|
|
|
|
|
|
|
`git checkout HEAD .`或者是`git checkout HEAD <file>`用分支中的文件替换暂存区和工作区的文件
|
|
|
|
|
|
|
|
### 2.2.3
|
|
|
|
|
|
|
|
`git ls-tree`查看HEAD指向的目录树
|
|
|
|
|
|
|
|
`git ls-files`查看暂存区的目录树
|
|
|
|
|
|
|
|
`git diff`比较暂存区和工作区的不同
|
|
|
|
|
|
|
|
`git diff HEAD`比较HEAD分支和工作区的不同
|
|
|
|
|
|
|
|
`git diff --cached` 比较暂存区和HEAD分支的不同
|
|
|
|
|
|
|
|
|