创建分支

对于开发者的每次提交,Git都把它们串成一条时间线,这条时间线就是一个独立的分支。不创建其他分支时,默认只有一条时间线,在Git里这个分支叫主分支即master分支。通过gitk指令,可以很清楚地看见各个分支的产生、合并情况,如图2.14所示。

创建分支 - 图1 图2.14 Git分支

由于这里只有笔者一人操作,所以只创建了一个分支即主分支。通过以下指令,可以创建一个新的分支并切换到该分支上,代码如下所示。

  1. gitTest git:(master) git checkout -b dev
  2. Switched to a new branch 'dev'
  3. gitTest git:(dev)

这里需要注意的是,在前文中笔者也讲到了checkout指令,此checkout指令非彼checkout指令,checkout后面跟分支名才代表分支操作。如果跟的是文件名,则代表恢复操作。另外通过-b参数,可以使Git创建并自动切换到该分支,该命令等价于:

  1. $ git branch dev
  2. $ git checkout dev
  3. Switched to branch 'dev'

如果该分支已经存在,那么直接使用checkout<分支名>就可以切换到该分支。但是在切换时,如果当前分支有过还未提交的修改,则Git是无法切换分支的。此时最好的办法就是通过git stash指令将修改暂存并恢复到原始版本。这时候再切换分支,等其他分支操作完毕后回到原来的分支,再将暂存代码调出,恢复原来的状态继续工作。