分支管理理解

在经历了持续不断的需求,通常多个需求会同时开发,以及发布情况复杂很多时候需求上不了,需要回退代码且版本管理混乱后,通过别人的建议和自己的思考,总结了一些自己觉得对版本管理比较安全的方式方法。

一般的项目种都有主分支master、开发分支develop、上线分支Release。通常我们是在develop分支上进行开发,当要上线时会从develop分支上拉取上线分支Release,当上线完成后将Release分支合并到masterdevelop分支上。

每一个需求都拉一个新的分支,且根据需求的复杂程度以及周期长短决定从哪一个分支上进行新分支的拉取,建议所有需求都从master分支上拉取新分支。以及是否有必要新建立一个对应的远程分支。建议分支名称最好是以自己的名字/需求编号的形式进行命名。

当开发一个简单且周期短的的需求时,可以直接从master分支上拉取新分支,也可以从develop分支上拉取,可以不必建立对应的远程分支。当开发完成时直接push到develop分支上,如果是需要上线直接push到Release分支上。即使需求上不了线,将关键代码存下来,等上线完成合完分支很快就能恢复代码。

当开发一个比较复杂的需求时,从masterdevelop分支上拉取新分支1,并创建对应的远程分支2,开发过程中提交到对应的远程分支2上。当开发完成需要联调或者上线时,从联调分或者上线分支上拉一个新分支3,在分支3上拉取远程分支2进行merge。后面调试过程中的调整可以直接在分支3上进行,并直接提交到联调或上线分支。这样即使你的需求不上线了,打开分支1将分支1该需求对应的代码compare with联调或上线分支,将修改的部分写入分支1并push到远程分支2。然后打开分支3与compare with master分支删掉该需求对应的代码。等上线完成Release分支合并master分支后直接在master分支上拉一个新分支4compare with远程分支2,将需求代码快速写入分支4,然后直接将分支4pushdevelop或者新的上线分支上。所有的push操作之前必须进行pull操作。