我们的话线上有两个分支:master和develop。master分支的代码时对外的代码,也就是用户访问的代码。develop分支是我们开发者用于开发新功能测试用的。我的话一般都是这样做的
1.clone项目仓库,在本地创建develop分支与线上的develop同步,本地master分支与线上master同步。
2.基于我本的的develop分支创建出新的分支feature,在feature分支上进行代码的修改。其实也可以不创建feature分支而是直接地在develop分支上进行修改,但是如果你改着改着发现自己的思路不对想重头做这时你的develop与线上的已经有差别了,你要一系列的操作才能撤销。反之,如果你用了feature,那么你直接删除feature分支就可以了,你本地的develop根本没有改变。
3.feature分支功能开发完以后我会在我本地机器上测试新功能。如果测试没问题,我就把feature分支合并到develop分支,然后从线上pull develop分支到我的develop分支(以为有可能你的同事往线上的develop分支push了新的功能),然后再把我的develop分支push到线上的develop分支供测试同事测试bug
4.线上develop分支测试没问题就合并到线上master分支,这项工作一般只有技术经理有权限做,一般的开发者是不允许合并代码到master的
git的分支很好用,他能是不同版本的代码“解耦”方便我们的开发。现在很流行一种叫git flow的工作流程,你百度一下就能看见。