代码改变世界

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

2012-08-07 10:24  ...平..淡...  阅读(277)  评论(0编辑  收藏  举报

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”的文件来记录当前分支:

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

 

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

1 $ git branch -r
2   origin/HEAD
3   origin/html
4   origin/maint
5   origin/man
6   origin/master
7   origin/next
8   origin/pu
9   origin/todo

 

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

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