内容简介:自然的,首次提交的对象是没有父指针的,之后提交的对象才有父指针。
参考文章
工作原理
git
的工作原理:
git
版本控制是通过保存不同时间点的快照实现的。 git
在提交操作时, git
会保存一个提交对象,该提交对象中会包含:用户名,邮箱,提交信息,以及指向它父对象的指针。
自然的,首次提交的对象是没有父指针的,之后提交的对象才有父指针。
- 用户名
- 邮箱
- 提交信息
- 父指针
-
指向树对象的指针(树对象:
git通过计算每个子目录的校验和,将其保存为树对象)blob
git
的分支,其实本质上是指向提交对象的可变指针。由于创建分支的高效性,所以, git
鼓励开发人员创建分支!
原理说明
首先在创建 git
项目的时候,默认会创建 master
分支!这个 master
分支正常应该是指向最新一次提交。
head
|
master
|
one <- two <- thr
假设这个时候,用户做了些修改,然后提交:
head
|
master
|
one <- two <- thr <- four
从上述两个过程可以看出, master
分支实际就是一个指向某次提交的指针!会根据用户的提交自动向前移动指向最新一次提交。
如果用户新创建了一个分支( test
)呢:
git branch test
他的实际结果就是如下:
head
|
master
|
one <- two <- thr <- four
|
test
因为这个时候用户在 master
分支下,用户再次做出修改提交:
test
|
one <- two <- thr <- four <- five
|
master
|
head
如果这个时候用户切换到 test
分支( git checkout test
),做些修改然后再次提交:
head
|
test
|
<- five-for-test
one <- two <- thr <- four
<- five
|
master
产生了一个新的分支!!
以上所述就是小编给大家介绍的《git 分支原理介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hit Refresh
Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37
Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!