git checkout
最为常用的情形是创建分支和切换分支
创建和切换分支git checkout -b branchName
以下 是分支创建和切换的分解命令
git branch req/cnivi_100
git checkout req/cnivi_100
Lenovo@LENOVO-PC /c/WorkSpace5-gitosc/HibernateTest (master)
$ git branch req/cnivi_100
Lenovo@LENOVO-PC /c/WorkSpace5-gitosc/HibernateTest (master)
$ git branch
* master
req/cnivi_100
Lenovo@LENOVO-PC /c/WorkSpace5-gitosc/HibernateTest (master)
$ git checkout req/cnivi_100
Switched to branch 'req/cnivi_100'
Lenovo@LENOVO-PC /c/WorkSpace5-gitosc/HibernateTest (req/cnivi_100)
$ git branch
master
* req/cnivi_100
推送本地分支git push origin branchName
刚才上边创建并切换了分支,只不过分支只在本地存在,要把这个分支推到远程仓库中,如下,
Lenovo@LENOVO-PC /c/WorkSpace5-gitosc/HibernateTest (req/cnivi_100)
$ git push origin req/cnivi_100
Username for 'https://git.oschina.net': 744858873@qq.com
Password for 'https://744858873@qq.com@git.oschina.net':
Total 0 (delta 0), reused 0 (delta 0)
To https://git.oschina.net/xinxingegeya/HibernateTest.git
* [new branch] req/cnivi_100 -> req/cnivi_100
Lenovo@LENOVO-PC /c/WorkSpace5-gitosc/HibernateTest (req/cnivi_100)
$ git branch -r
origin/HEAD -> origin/master
origin/master
origin/req/cnivi_100
Lenovo@LENOVO-PC /c/WorkSpace5-gitosc/HibernateTest (req/cnivi_100)
$
通过git push origin branchName方式推动本地分支到远程仓库,然后查看远程分支 git branch -r。
git checkout -b [branchName] [remote]/[branchName]
如下所示,跟踪远程分支后然后切换到远程分支的跟踪分支,即本地分支。
➜ protobuf-source git:(master) git branch
* master
➜ protobuf-source git:(master) git branch -r
origin/HEAD -> origin/master
origin/beta-1
origin/gerrit
origin/gh-pages
origin/jruby
origin/master
origin/protoc-alpha-3.1
origin/revert
origin/v3.0.0-alpha-4.1
➜ protobuf-source git:(master) git checkout -b v3.0.0-beta-1 origin/beta-1
Branch v3.0.0-beta-1 set up to track remote branch beta-1 from origin.
Switched to a new branch 'v3.0.0-beta-1'
➜ protobuf-source git:(v3.0.0-beta-1)
=======END=======