Git创建分支(branch)

2020-01-06大约10分钟

图片

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。

有人把 Git 的分支模型称为它的“必杀技特性”,也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出。 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。

Git 的分支,其实本质上仅仅是指向提交对象的可变指针。 Git 的默认分支名字是 master。 在多次提交操作之后,你其实已经有一个指向最后那个提交对象的 master 分支。 它会在每次的提交操作中自动向前移动。

Git 的 “master” 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

创建分支

Git 是怎么创建新分支的呢? 很简单,它只是为你创建了一个可以移动的新的指针。 比如,创建一个 testing 分支, 你需要使用 git branch 命令:

git branch testing

切换 分支

要切换到一个已存在的分支,你需要使用 git checkout 命令。 我们现在切换到新创建的 testing 分支去:

git checkout testing

除了上面一些常见的branch命令,还有一些简单的命令:

查看所有分支

git branch

上面的命令会列出所有本地的分支,但不包括远程的分支。要查看本地和远程分支,可以加上-a参数:

git branch -a

相对来说,创建分支,切换分支虽然很总是用命令行,可能有些人也不喜欢,那么用工具的话,也可以很简单。

用图形界面工具来操作

图片

在Git Extensions的“命令”菜单里面,选“创建分支...”,就会弹出一个对话框可以填分支名字:

图片

填上分支之后,等几秒钟,分支就创建好了,并且自动切换到新建的分支上,如下图所示:

图片

当前仅仅创建了本地仓库的分支,并没有在远程仓库上创建分支。

当在这个分支上开发完代码之后,就可以选择合并到master分支,或者把这个分支推到远程仓库里。当推送到远程仓库的时候,工具会自动提示是否在远程仓库上同时创建分支。