##合并分支
###新建分支
执行下面命令新建并切换到分支:
$ git checkout -b dev
该命令相当于执行了下面的两条命令:
$ git branch dev
$ git checkout dev
###合并分支
一般先切换回master分支再进行合并:
$ git chekout master
$ git merge dev
###删除分支
dev分支开发完毕之后就可以删除掉了,执行下面的命令删除分支:
$ git branch -d dev
###特性分支
一般像处理bug,开发新功能,修复维护等分支我们称之为特性分支。一般如果发布的版本有bug或需求等,我们会先从稳定的master分支中新建一个用于处理bug的特性分支,在特性分支中处理完bug之后就可以切换会master分支再将特性分支合并即可。
###模拟场景:
假如现在已经发布的一个项目版本出现了bug,需要我去处理的话,我会先创建并切换到处理bug的分支iss01:
$ git checkout -b iss01
Switched to a new branch 'iss01'
然后处理bug…
$ vim README.md
把修改的文件添加到暂存区中
$ git add .
然后提交修改
$ git commit -m 'fix a bug'
[iss01 8284414] fix a bug
1 files changed, 1 insertions(+), 4 deletions(-)
现在bug修复好了,就切回master分支吧
$git checkout master
将iss01分支合并到master中
$ git merge iss01
Updating 6b4e5b7..8284414
Fast-forward
README.md | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
这次合并会产生一次新的提交对象,给这个提交对象打个标签发布吧
$ git tag v1.6
或
$ git tag v1.6 <提交对象id>
最后推送到远程仓库中
$ git push origin master
Counting objects: 37, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (33/33), 2.66 KiB, done.
Total 33 (delta 12), reused 0 (delta 0)
remote: Resolving deltas: 100% (12/12), done.
To git@github.com:JimmyMars/gitskills.git
bc5ee66..8284414 master -> master
在推送标签发布
$ git push origin v1.6
或干脆
$ git push origin --tags