Git中关键概念

想使用Git,必须理解它的一些基本概念

提交(commit)#

每次commit之后都会生成一个提交,提交的数据结构如下(只是把关键的属性列出来了)

id: SHA1生成的唯一值
parent:父提交的id
message:提交时的信息
tree: 索引树,理解一个目录,用来从.git/object中查找文件的对象
author: 作者

工作区(working)

物理上可以理解为工作目录中除.git目录的所有文件。逻辑上可以理解为正在编辑的区域

暂存区(stage)

介于工作区到版本库之间,git add filename就是把工作区的修改加到暂存区里,git commit 就是把暂存区的修改提交到分支中。目前还不是很理解这种设计是为什么,还需要继续学习。

分支(branch)

commit其实是链表里一个节点,分支可以理解为永远指向这个链表的最后一个commit。

HEAD

知道了分支,那么HEAD就是指向指针的指针,HEAD可以指向任意的commit

你可能感兴趣的:(Git中关键概念)