Git学习笔记(2) -- 分支控制(branch)

Posted by Elton's Blog on July 22, 2009

git branch 列出所有的分支, -r参数表示列出所有远程的分支 git branch 建立一个名为的分支,使用当前版本作为这个新分支的版本 git branch 建立一个名为的分支, 使用指定的 作为新分支的版本,这个start-point可以是其他的分支名称或者tag名称。 git branch -d 删除分支 ; 如果你要删除的分支并没有被merge到当前分支的话,将产生一个错误提示。 git branch -D 同-d,但是不管要删除的分支是否已经merge到当前分支,都会删除 git checkout 切换当前分支到 , 更新 working directory 到 所对应的版本 git checkout -b 按照的版本建立一个新的分支,然后再checkout到这个分支上。

一个特殊符号 “HEAD” 总是指向当前分支. 实际上git使用一个在.git目录中叫 “HEAD”的文件来记录当前分支:

$ cat .git/HEAD
ref: refs/heads/master

示例: “master”分支是当初你执行git-clone时候,clone的一个远程repository的HEAD版本的一个copy.

$ git branch -r
  origin/HEAD
  origin/html
  origin/maint
  origin/man
  origin/master
  origin/next
  origin/pu
  origin/todo

列出所有远程版本, origin是用来表示你当初执行git-clone时候的repository,你不可以直接checkout远程repository,但是你可以根据远程repository生成一个本地repository

$ git checkout -b my-todo-copy origin/todo