作者:jicanmeng
时间:2015年03月10日
简单来说,git branch
命令用于创建一个分支。git checkout
命令用于切换分支。
看下面的例子:
$ git branch
bugFix
* master
$ git branch newBranch bugFix
$ git checkout newBranch
Switched to branch 'newBranch'
$
git branch newBranch bugFix
命令创建了一个名称为newBranch的分支,指向bugFix分支指向的那个commit对象。git checkout newBranch
命令则切换到这个分支。这两条命令可以用一条命令来代替:git checkout -b newBranch bugFix
. 如果我们执行git branch newBranch
命令,那么创建的newBranch分支指向的commit对象是HEAD指向的分支所指向的那个commit对象。
git checkout命令有两种用法:
[]表示可选项,如果省略了[
第一种用法不会改变HEAD头指针,而是会用某个commit中的文件覆盖暂存区和工作区中的文件。如果省略了commit,那么就用暂存区中的文件覆盖工作区中的文件。
第二种用法则会改变HEAD头指针,使其指向某个分支,并且使用此分支指向的commit覆盖掉暂存区和工作区。