内容简介:自然的,首次提交的对象是没有父指针的,之后提交的对象才有父指针。
参考文章
工作原理
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 分支原理介绍》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hacker's Delight
Henry S. Warren Jr. / Addison-Wesley / 2002-7-27 / USD 59.99
A collection useful programming advice the author has collected over the years; small algorithms that make the programmer's task easier. * At long last, proven short-cuts to mastering difficult aspec......一起来看看 《Hacker's Delight》 这本书的介绍吧!