Git工作流(alpha)
目前Git工作流和Git Flow一致,只是名称的不同.
分支概览
- master 线上分支,只允许从prepub和hotfix分支并合
- prepub-* 预发分支(等同于git flow的release分支),从dev checkout而来,允许小的bug修复
- hotfix-* 从master checkout而来,修复线上问题
- dev 开发分支,只能从dev-feature_name分支合并
- dev-feature_name 特性分支,可以是需求对应的分支,也可以是开发的优化. 从dev checkout而来.
流程
1.开发新功能
从dev分支checkout新的feature分支
命令:
$ git checkout dev
Switched to branch 'dev'
$ git checkout -b dev/my_feature
Switched to a new branch "dev/my_feature"
2.新功能完成
将feature分支合并到dev
命令:
$ git checkout dev
Switched to branch 'dev'
$ git merge --no-ff dev/my_feature
Updating ea1b82a..05e9557 (Summary of changes)
$ git branch -d dev/my_feature
Deleted branch my_feature (was 05e9557)
$ git push origin dev
关于 --no-ff 参数,是为了防止git自动的fast-forward而丢失merge这一动作的信息,方便之后撤销某个feature.