Git 分支
有人把 Git 的分支模型称为它的‘必杀技特性’,也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出。 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。
分支操作
1、列出所有本地分支
$ git branch
2、列出所有远程分支
$ git branch -r
3、列出所有本地分支和远程分支
$ git branch -a
或者
$ git branch -av
4、新建一个分支
$ git branch [branch-name]
例如,创建名称为dev的分支:
$ git branch dev
5、新建一个分支,并切换到该分支
$ git checkout -b [branch-name]
例如,创建名称为dev的分支并切换到该分支上
$ git checkout -b dev
6、切换到指定分支
$ git checkout [branch-name]
7、将本地分支推送到远程服务器
$ git push origin [branch-name]
例如,将本地dev分支推送到远程服务器
$ git push origin dev
8、重命名本地分支
$ git branch (-m | -M) <old-branch> <new-branch>
使用-M则表示强制重命名,例如将dev重命名为develop:
$ git branch -m dev develop
9、删除本地分支
$ git branch (-d | -D) [branch-name]
使用-D则表示强制删除,例如,删除本地dev分支
$ git branch -d dev
10、删除远程分支
$ git push origin --delete [branch-name]
例如,删除远程的dev分支
$ git push origin --delete dev
还有另外一种方法,即推送一个空分支到远程分支,其实就相当于删除远程分支:
$ git push origin :[branch-name]
11、重命名远程分支
在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
例如下面的例子中,我需要把 dev 分支重命名为 develop 分支:
删除远程分支:
$ git push --delete origin dev
重命名本地分支:
$ git branch -m dev develop
推送本地分支:
$ git push origin develop
12、合并分支
合并指定分支到当前分支上来:
$ git merge [branch-name]
例如,将iss53分支合并到master:
$ git checkout master
Switched to branch 'master'
$ git merge iss53