庇护祝福的分享

Be worthy

Git Branch

创建操作

git branch

列出所有的分支, -r参数表示列出所有远程的分支

git branch branchname

建立一个名为的分支,使用当前版本作为这个新分支的版本

git branch

建立一个名为的分支, 使用指定的 作为新分支的版本,这个start-point可以是其他的分支名称或者tag名称。

删除操作

git branch -d

删除分支 ; 如果你要删除的分支并没有被merge到当前分支的话,将产生一个错误提示。

git branch -D

同-d,但是不管要删除的分支是否已经merge到当前分支,都会删除

切换操作

git checkout

切换当前分支到 , 更新 working directory 到 所对应的版本

git checkout -b

按照的版本建立一个新的分支,并checkout到这个新分支上。

git checkout -f

忽略差异部分,强制切换,例如: 修改branch test, 但是没有commit,这时如果切换到master,会提示错误。使用-f 则会丢弃test中的修改,强制切换,如果切回test分支,刚才的修改也没了

一个特殊符号 “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