From 1fb3a5869a54e6430919778380b192c4706488b6 Mon Sep 17 00:00:00 2001 From: mhrooz Date: Thu, 15 Aug 2024 22:08:20 +0200 Subject: [PATCH] 2.2 notes --- notes/2.2-git_stage.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/notes/2.2-git_stage.md b/notes/2.2-git_stage.md index e69de29..c7fd036 100644 --- a/notes/2.2-git_stage.md +++ b/notes/2.2-git_stage.md @@ -0,0 +1,33 @@ +### 2.2.2 + +.git/index 是包含索引的目录树,这个目录树记录了文件名,文件等状态信息 + +![版本库](https://lsky.mhrooz.xyz/2024/08/15/cde4b123b19fe.png) + +`HEAD`指向当前的分支,图中的master中有一个git独特的存储方式,可以在不同的commit之间切换. master就是一个分支 + +git add就是把工作去的内容先加到暂存区,分支还没有被更改 + +如果想更改分支里的内容,就要commit中 + +`git rm --cached `从暂存区中删除文件 + +`git reset HEAD` 替换暂存区为HEAD指向的分支的内容(清除暂存区) + +`git checkout -- ` 从暂存区中拿出文件替换工作区的内容 + +`git checkout HEAD .`或者是`git checkout HEAD `用分支中的文件替换暂存区和工作区的文件 + +### 2.2.3 + +`git ls-tree`查看HEAD指向的目录树 + +`git ls-files`查看暂存区的目录树 + +`git diff`比较暂存区和工作区的不同 + +`git diff HEAD`比较HEAD分支和工作区的不同 + +`git diff --cached` 比较暂存区和HEAD分支的不同 + +