git项目开发分支策略的个人理解
通过对git的使用和理解,慢慢发现git的优势和不足,或许也不能叫不足,只是我想要的功能他还没有实现,又或者人家实现了,愚笨的我没有发现怎么使用。现在对git的理解记录下来:
Git使用的项目类型:兼容性项目开发
在实际的项目开发中,通常会遇到两种类型的项目,一种是兼容性项目,一种是不兼容项目
兼容性项目:比如一个平台的游戏开发,可以一直升级,来迭代版本
不兼容性项目:一个定制项目,每个客户的需求不同,其相同的业务,实现不同,不能兼容,必须分成两个版本来交付的
Git最重要的就是其分支策略,其分支策略如下:
```
分支策略(兼容性项目)
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
```
以上的分支策略描述和图来自廖雪峰的网站(git相关章节)
分支策略(不兼容性项目)
我能想到比较好的方法就是在dev和master之间再加一层,master是个空项目,没有内容,仅仅作为一个原点,然后下面的不兼容版本另外再各个分支中建立起来,pro层是发布线,dev是开发线,c1,c2是开发成员分支,大概图就像相面这个样子:
几个未知的git操作,希望大家知道的可以解惑
- 如何使一个文件在分支中被跟踪,但是在master分支中不存在?(为什么会有这种奇葩的需求?因为我不是master的合并者,但是我的分支中会有一些测试代码文件,我不想删除,总要用啊,但我又想上传到我的分支中,做个备份,本地文件夹有时候会删除,但是上传了分支中,就会被上传到master,合并master的人比较洁癖,不让我上传这个文件。。。就这样喽)