上一篇文章Git基础知识总结(一):从远程仓库上克隆项目、本地创建项目,提交到远程仓库
总结了master分支的远程仓库克隆项目,本地创建项目提交到远程仓库的知识,但如果涉及到多人协作,就必须掌握分支概念和使用。
分支,简单说就是不同的流水线,你可以把你的工作从开发主线上分离开来,以免影响开发主线,比如说开发个新功能,或者修复某个bug,等任务完成了,再把它合并到主分支,这样在不影响主分支的情况下完成分工合作。
分支的创建和合并
以一个实际的例子来阐述:
你当前正在主分支master上工作,突然你接到一个紧急通知需要修改一个bug,这时你需要创建一个新的分支,并在这个分支上工作。
新建分支
你可以运行一个带有 -b
参数的 git checkout
命令:
$ git checkout -b bugfix
Switched to a new branch "bugfix"
它是下面两条命令的简写:
# 创建分支
$ git branch bugfix
# 切换分支
$ git checkout bugfix
合并分支
当你在这个分支上工作,进行add、commit等过程,完成修改并测试后没有问题,就可以切换到master分支,并将这个分支合并到master上。
$ git checkout master
$ git merge bugfix
删除分支
这时你不在需要这个分支,于是你可以删除它
$ git branch -d bugfix
Deleted branch bugfix (3a0874c).
推送远程分支
推送到远程分支时,尽量保持本地仓库的分支与远程仓库的分支名称相同,
假设你在dev分支上工作,关联的是远程dev分支,一般的工作流程是:
# 切换到dev分支
$ git checkout dev
# 添加到暂存区
$ git add .
# 提交到本地仓库
$ git commit -m "xxx"
# 将master分支合并到dev
$ git merge master
# 推送到远程仓库dev分支
$ git push origin dev