0%

Git结构

Git结构

Git分为工作区、暂存区、本地库和远程仓库

写代码时是在工作区进行操作的,使用git add 命令可以将文件加入到暂存区,使用git commit命令可以将暂存区的文件提交到本地库,使用git push命令可以将本地库的文件推送到远程仓库

graph LR
workSpace[工作区]
Index[暂存区]
repository[本地库]
remote[远程仓库]
workSpace--git add-->Index--git commit-->repository--git push-->remote
remote--git pull-->workSpace
remote--git fetch-->repository

这里需要根据.git目录来看

1
2
3
4
.git目录中有inde文件是暂存区(git add之后存在index中)
.git目录中有objects目录,其中存储的是本地库(git commit之后存在objects中 文件夹名为commit_id的前两位,文件名为commit_id的另外38位)
.git目录中的logs目录,存储的是所有的日志,只会增加不会删除
.git目录中的refs目录,存储的是分支、标签、储存、远程分支分别所对应的commit_id

git checkout

git reset 从暂存区撤销回来

从一个分支切到另一个分支,为了不把该分支修改的东西带到新的分支中,可以使用

git stash 先暂存一下

git stash pop 暂存的东西取出来