Git分支
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。而Git的分支模型则别具一格,创建分支非常的快,在不同分支之间切换也十分的快,这一优势也使得Git鼓励人们更多地使用分支。
Git保存数据的方式
在了解分支之前,让我们先来看看Git是如何保存数据的。我的理解是我们每次提交到Git的文件,它并不是只保存每次文件中的差异,而是类似于照片那样将整个文件都在重新保存一份
Git分支
Git 会把仓库中的每次提交串成一条时间线,这条时间线就是一个分支。在 Git 里,每个仓库都会有一个主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
一开始的时候,master分支是一条线,Git 用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点,如下图:
每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。