git分支管理

一般而言,我们要检出一个git项目会使用git clone命令,git clone默认会把远程仓库包括全部分支,完整clone下来:

 git clone git@github.com:twbs/bootstrap.git

git常用命令之间的关系:

检出分支

直接检出某个分支:

 git clone -b gh-pages git@github.com:twbs/bootsrap.git

也可以在clone之后,从origin检出分支:

 git checkout -t origin/gh-pages

或者是从本地切换分支,如果本地检出的分支与远端仓库同名分支,默认就会有tracking:

 git checkout gh-pages

分支创建

 git branch testing

分支切换

此命令只是创建了新分支,还是在原来的分支下工作,HEAD指针并没有变化:

 git checkout testing

新建一个分支并直接切换到新分支下:

 git checkout -b iss53Switched to a new branch "iss53"

它是下面两条命令的简写:

 git branch iss53 git checkout iss53

分支合并

比如要将上面iss53这个分支修改后的内容合并到主分支master上,需要先切到master分支上,再使用merge命令:

 git checkout master git merge iss53

另外还有一个命令git rebase可以和git merge命令配合,使得合并历史变得更简洁。

查看分支

参数说明:
-r, --remotes
list or delete (if used with -d) the remote-tracking branches.
-a, --all
list both remote-tracking branches and local branches.

 git branch -r git branch -avorigin/HEAD -> origin/masterorigin/bundleorigin/derporigin/fix-13818origin/fix-13897origin/gh-pagesorigin/grunt-concurrentorigin/grunt-no-touchorigin/ie8-label-wrap-bugorigin/masterorigin/media-query-mixinsorigin/sauce-screenshots

删除分支

 git branch -d branch-name

删除远程分支

可以运行带有--delete选项的git push命令来删除一个远程分支。如果想要从服务器上删除serverfix分支,运行下面的命令:

 git push origin --delete serverfix... - [deleted]         serverfix

References

  1. git分支