Git最佳实践:Git Flow的使用
代码管理需要一个清晰的流程和规范
Git Flow 常用分支
- Production 分支
也就是我们常用的 master 分支,用来发布到生产环境的代码;这个分支只能从其他分支合并,不能在这个分支直接修改代码。
- Develop 分支
这个分支是我们的主开发分支,包含所有要发布到下一个Release的代码,这个这个合并其他分支,比如Feature分支
- Feature 分支
这个分支主要用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release
- Release 分支
当你需要发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并Master和Develop分支
- Hotfix分支
当我们再Production发现新的Bug时,我们需要创建一个Hotfix,完成Hotfix后,我们合并回master和Develop分支,所以Hotfix的改动会进入下一个Release
Git Flow如何工作
初始分支(master)
所有再master分支上的Commit应该Tag
Feature分支
分支名feature/*
Feature分支做完后,必须合并回Develop分支,合并完分支后一般会删掉这个Feature分支。
Release分支
分支名release/*
Release分支基于Develop分支创建,打完Release分支后,我们可以在这个Release分支上测试,修改Bug等。同时,其他开发人员可以基于开发新的Feature发布Release分支时,合并Release到Master和Develop分支,同时在Master分支上打个Tag记住Release版本号,然后就可以删除Release分支了。
维护Hotfix
分支名hotfix/*
hotfix分支基于Master分支创建,开发完成后要合并会Master和Develop分支,同时在Master上打一个Tag。
Git Flow代码示例
- 创建develop分支
1 | git branch develop |
- 开始新Feature开发
1 | git checkout -b some-feature develop |
- 完成Feature
1 | git pull origin develop |
- 开始Release
1 | git checkout -b release-0.1.0 develop |
- 完成Release
1 | git checkout master |
- 开始Hotfix
1 | git checkout -b hotfix-0.1.1 master |
- 完成Hotfix
1 | git checkout master |