查看Git内容的命令:
git cat-file -t hash值
git ls-files -s 查看Index
git reflog // 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本
tree // 查看目录结构
正文:
git add 生成一个Blob;(Blob实际上是对原文件进行了一个压缩)
git commit 生成一棵tree;(tree的node是对blob的引用),同时git commit会保存commit的信息
当前仓库有一个git config
当前用户也有一个git config
git config --global -l
如果没有本地仓库的用户名配置,则使用当前用户的
git提供了一些查看文件的方法:git cat-file -t 文件名
- -t 代表类型
- -p 查看内容
- -s 查看大小
blob其实存放的就是文件的内容,大小,以及长度,然后根据这三个值生成一个hash,而文件的名字可以通过git ls-files -s
查看:
git commit 背后的故事
参考链接
-
文件的状态
-
branch
查看.git里的HEAD信息:
9. 分支操作
- git branch // 查看分支
- git branch dev // 创建一个dev分支
假如从master创建的dev分支,此时HEAD指针同时指向master和dev
- git branch -D 分支名称 // -D表示强制删除
git branch -d 分支名称 或者 git branch --delete 分支名称 // 如果没有合并到某个分支,则提示不能删除
即使删除某个分支,该分支之前add和commit的信息也不会被删除,这些内容被称为垃圾内容了。
10. git checkout
HEAD指针理论上来说是指向某个分支的头部,但是也可以指向具体的commit hash值(因为指向某个分支的头部本质也是指向最后一次的commit);
通过git checkout hash值来指向某个commit
接下来可以在当前commit hash值的地方通过
git checkout -b newBranch
来新建分支,然后在合并到主分支。
救命命令:
git reflog // 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本