4. 如何创建分支?如何切换分支?--"git branch;git checkout"

作者: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命令有两种用法:

  1. git checkout [<commit>] [--] <path>
  2. git checkout [<branch>]

[]表示可选项,如果省略了[],那么就使用暂存区(index)中的内容。

第一种用法不会改变HEAD头指针,而是会用某个commit中的文件覆盖暂存区和工作区中的文件。如果省略了commit,那么就用暂存区中的文件覆盖工作区中的文件。
第二种用法则会改变HEAD头指针,使其指向某个分支,并且使用此分支指向的commit覆盖掉暂存区和工作区。

参考资料

  1. Pro Git
  2. git权威指南
  3. Learn Git Branching