git项目开发分支策略的个人理解

通过对git的使用和理解,慢慢发现git的优势和不足,或许也不能叫不足,只是我想要的功能他还没有实现,又或者人家实现了,愚笨的我没有发现怎么使用。现在对git的理解记录下来:

Git使用的项目类型:兼容性项目开发

在实际的项目开发中,通常会遇到两种类型的项目,一种是兼容性项目,一种是不兼容项目

兼容性项目:比如一个平台的游戏开发,可以一直升级,来迭代版本

不兼容性项目:一个定制项目,每个客户的需求不同,其相同的业务,实现不同,不能兼容,必须分成两个版本来交付的

 

Git最重要的就是其分支策略,其分支策略如下:

```

分支策略兼容性项目

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:

git项目开发分支策略的个人理解

 

```

以上的分支策略描述和图来自廖雪峰的网站(git相关章节)

 

分支策略(不兼容性项目)

我能想到比较好的方法就是在dev和master之间再加一层,master是个空项目,没有内容,仅仅作为一个原点,然后下面的不兼容版本另外再各个分支中建立起来,pro层是发布线,dev是开发线,c1,c2是开发成员分支,大概图就像相面这个样子:

git项目开发分支策略的个人理解

 

几个未知的git操作,希望大家知道的可以解惑

  1. 如何使一个文件在分支中被跟踪,但是在master分支中不存在?(为什么会有这种奇葩的需求?因为我不是master的合并者,但是我的分支中会有一些测试代码文件,我不想删除,总要用啊,但我又想上传到我的分支中,做个备份,本地文件夹有时候会删除,但是上传了分支中,就会被上传到master,合并master的人比较洁癖,不让我上传这个文件。。。就这样喽)
  2.