一般而言,我们要检出一个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 |