第二章 Git分支机制

一 分支机制简述
当你发起提交时,Git存储的是提交对象,其中包含了指向暂存区快照的指针。提交对象也包括作者姓名和邮箱地址,已输入的提交信息以及指向其父提交的指针。初始提交没有父提交,而一般的提交会有一个父提交;对于两个或更多分支的合并提交来说,存在着多个父提交。

Git的分支只不过是一个指向某次提交的轻量级的可移动指针。Git默认的分支名称是master。当你发起提交时,就有了一个指向最后一次提交的master分支。每次提交时,它都会自动向前移动。

1, 创建新分支:git branch testing
这里写图片描述
(1)现在你仍然处在master分支上,因为git branch命令只会创建新分支,而不会切换到新的分支上去。
(2)Git 维护着一个名为HEAD的特殊指针,是一个指向当前所在的本地分支的指针。
(3)通过git log命令查看各个分支当前所指向的对象,需用到–decorate。

2 切换分支:git checkout
这里写图片描述
分支切换会更改工作目录文件。如果你切换到较旧的分支,工作目录会被恢复到该分支上最后一次提交的状态。

现在让我们对testing分支做一些修改:
这里写图片描述
然后切换回master,并做一些改动及提交:
这里写图片描述
现在项目历史已经产生了分支。你创建并切换到了新的分支,在新分支上做了一次修改,然后又切换回你的主分支并做了另一次修改。这两次修改是在不同的分支上做出的,彼此互相分离。你可以在分支中自由切换,当你准备好了之后可以合并这些修改。使用git log查看:
这里写图片描述
git log –oneline –decorate –graph –all 命令会输出提交历史,显示出分支的指向以及项目历史的分叉情况。

猜你喜欢

转载自blog.csdn.net/tanwenfang/article/details/81205281
今日推荐