分支
主要分支
master分支
master
为主分支,也是用于部署生产环境的分支,master
分支要确保稳定性master
分支一般由develop
以及hotfix
分支合并,任何时间都不能直接修改代码
开发分支develop
develop
为开发分支,始终保持最新完成以及bug修复后的代码一般开发新功能时,
feature
分支都是基于develop
分支下创建
临时性分支
功能分支feature
为了开发某种特定功能,从
develop
分支上面分出来的功能分支名字功能分支通常仅存于开发人员存储库中,而不存在于中
origin
可以采用
feature-*
(分支功能/分支名)的形式命名
预发布分支release
- 指发布正式版之前(即合并到
master
分支之前),我们需要一个预发布版本进行测试 - 发布分支是从
develop
分支上面分出来的,预发布借宿以后,必须合并develop
和master
分支 - 可以采用
release-*
的形式命名
修补bug分支(fixbug)
- 软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。修补bug分支是从master分支上面分出来的。修补结束以后,再合并进master和develop分支
- 可以采用
fixbug-*
的形式
日常使用命令
首先我们要知道一些常用的命令
git branch
:查看当前项目有哪些分支git clone xxx
:克隆一个github项目git remote -v
:查看详情git checkout -b dev(分支名)
:创建分支git merge
:合并代码
从develop建立功能分支
Javascript
1 | // 开发新功能时,请从develop分支 |
在此分支上不断的完善
- 多人协作时,大家都会往
master
和dev
分支上推送各自的修改,所以需要同步线上代码 git pull origin develop
意思是取获取远程仓库中develop分支上的commits,然后把origin/develop
中的内容merge
到你目前的分支中
不断的完善功能
- 通过
git add
和git commit -m "xxx"
不断的完善这个分支的功能
功能开发完成
Javascript
1 | // 切换分支到develop |
功能开发完成以后合并到
develop
合并一定是在feature/*
完全开发完成并且测试通过的情况下进行合并操作,不能把由错误的地方提交上去--on--ff
标志使合并始终创建一个新的提交对象,即使合并可以通过快进来执行。这样可以避免丢失有关要素分支历史存在的信息,并将所有添加了要素的提交分组在一起平时默认的
git merge
无法从Git历史记录中看到哪些提交对象一起实现了功能-你将不得不手动读取所有日志消息。在此模式下还原整个功能(即一组提交)
预发布分支release
从develop分支创建发行分支。例如,说版本1.1.5是当前的生产版本,我们即将发布一个大版本,develop准备好了“下一个版本”,我们已经决定,这将成为版本1.2(而不是1.1.6或2.0)。因此,我们分支并给发行分支起一个反映新版本号的名称
Javascript
1 | // 创建一个预发布分支 |