当项目进行到一定阶段后,对版本管理会出现两个需求:
1. 稳定的发布版本,但是遇到bug需要尽快修复,并继续保持稳定;
2. 变动频繁的开发版本,不断开发新的功能,并在某一个时刻需要合并到发布版本上,实现新版本的发布。
下面我们就以这两个需求来介绍一下GIT是如何操作的。
**稳定版本的维护**
我们以master作为稳定的发布版本,当遇到某个bug时,需要首先切换到master分支上
```
git checkout master
```
可以直接在这个分支上工作,进行bug修复,也可以创建一个短期分支来修复bug
```
git checkout -b iss001
```
当在iss001分支上完成bug修复并测试通过后,需要首先回到master分支,然后合并iss001分支
```
git checkout master
git merge iss001
```
合并完成后就可以删除iss001分支了
```
git branch -d iss001
```
至此,对master分支的维护就结束了。注意,如果没有执行push操作,那么所有的分支信息都仅仅保存在本地,而并不会和服务器进行交互。
**开发版本的维护**
为了实现对开发版本的不断更新,我们需要创建一个长期分支来实现这个目标,分支的名称可以叫做dev
```
git checkout -b dev
```
然后将这个分支推送到远程
```
git push
```
任何时候都可以从远程把这个分支获取回来
```
git fetch origin dev
```
然后就可以和在master分支上工作一样,就在dev分支上进行工作。
当开发进行到一定阶段时,需要将dev分支发布到master分支上,可以参考之前合并短期分支的方法,首先切换到master分支上,然后合并dev分支
```
git checkout master
git merge dev
```
注意这里并不需要删除dev分支,因为我们还要继续在这个分支上进行开发。
当然为了实现发布版本的记录,可以在合并dev分支之前,把原来的master分支保存为一个以版本号命名的分支,例如v001
```
git checkout master
git branch v001
```
这样我们可以在任何时候切换到v001版本上查看当时的情况。