一、常设分支
主分支 master :初始化分支,生产环境代码只能由 master 分支发布,要保证 master 分支处于随时可发布状态。
开发分支 develop :开发人员提交代码的分支,测试环境默认由 develop 分支发布,测试完成后合并至主分支 master。
# 切换到 master 分支
git checkout master
# 对 develop 分支进行合并
git merge --no-ff develop
二、临时性分支
前面讲到的两条主要分支:master 和 develop。前者用于正式发布,后者用于日常开发。其实,常设分支只需要这两条就够了,不需要其他了。
但是,除了常设分支以外,还有一些临时性分支,用于应对一些特定目的的版本开发。临时性分支主要有两种:
(特别说明:临时性分支可以推送到远程仓库,但是在发布完成后必须删除,使得代码库的常设分支始终只有 master 和 develop)
1、功能( feature )分支:它是为了开发某种特定功能,从 develop 分支上面分出来的。开发完成后,要再并入 develop,可以采用 feature-* 的形式命名;
# 创建一个功能分支
git checkout -b feature-x develop
# 开发完成后,将功能分支合并到 develop 分支
git checkout develop
git merge --no-ff feature-x
# 删除 feature 分支
git branch -d feature-x
2、修补 bug( fixbug )分支:从 master 分支上面分出来的。修补结束以后,再合并进 master 和 develop 分支,可以采用 fixbug-* 的形式命名;
# 创建一个修补 bug 分支
git checkout -b fixbug-0.1 master
# 修补结束后,合并到 master 分支
git checkout master
git merge --no-ff fixbug-0.1
# 再合并到 develop 分支
git checkout develop
git merge --no-ff fixbug-0.1
# 删除 bug 分支
git branch -d fixbug-0.1
ps. 临时穿插需求,且需要马上发布的功能,可以按照 fixbug 临时分支的策略进行处理,可以采用 emergency-* 的形式命名。
网友评论