3.0 KiB
3.0 KiB
分支管理
前面提交、推送操作都是在“master”分支进行的。针对一个不断迭代的复杂项目,如果全部都在“master”上操作,版本的结构会乱,其他人看不懂哪个提交是稳定的,是生产下发版本,哪个提交是尚在开发版本。
针对这一问题,下面介绍Git flow分支模型,大家不一定要严格套这个模型。
Git Flow
模型的分支如下:
- master
- develop
- feature/xxx
- hotfix/xxx
- release/xxx
master
- master主分支,代码库应该有一个、且仅有一个主分支,主分支存放最稳定的程序版本
- 所有用于正式生产下发的版本都应该在master分支上发布
- 不能直接在master分支上修改提交,只能从其它分支合并
- 所有在master上的提交应该标记tag
develop
- develop分支是主开发分支
- 用于合并来自feature分支的程序
- 从该分支创建release分支
- 接收来自release和hotfix分支的优化
feature
- 用于新功能的开发
- 从develop分支签出
- 开发完后合并到develop
hotfix
- 用于紧急修复现场出现的bug
- 从master签出
- 完成修复后要双向合并到master和develop
release
- 用于准备版本发布
- 从develop分支签出
- 等测试组测试通过,双向合并到master和develop
其他说明
远程仓库应该只存在两个分支,一个是master分支,存放生产环境版本,这个分支的代码总是可靠可用的;另一个是develop分支,这个分支用于日常开发。
hotfix分支、feature分支和release分支都在本地,原则上不能推送到远程仓库。这三种分支都属于临时性需要,使用完以后,应该删除。
develop分支下允许有多个feature分支,且尽量避免冲突;允许在有feature处在开发中的情况下从develop分支拉取到release分支。
分支操作
创建分支
在工程目录下右键菜单选择“TortoiseGit”,点击“创建分支”。
输入分支名称。“切换到新分支”可选,后面可以手动切换。点击“确认”新分支便创建成功。
切换分支
想要在某个分支上做修改提交,首先要切换到该分支。
在工程目录下右键菜单选择“TortoiseGit”,点击“切换/检出”。
选择分支,点击确认。
创建标签
master分支提交后要加一个标签,用来表示版本号。
在工程目录下右键菜单选择“TortoiseGit”,点击“创建标签”。
输入标签名称,选择分支即可。
分支推送
当某个分支提交的差不多了,就可以推送了。
之前推送的是master分支,现在可以选择本地的其他分支。
值得注意的是“包括标签”选项,按照模型,master分支需要标记Tag版本号,master分支推送时勾选该选项可以将Tag同步到服务器。