300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > GitFlow 代码管理模型实战

GitFlow 代码管理模型实战

时间:2022-04-12 04:15:27

相关推荐

GitFlow 代码管理模型实战

GitFlow 代码管理模型实战

一 概述

Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架。

master分支存放所有正式发布的版本,可以作为项目历史版本记录分支,不直接提交代码。仅用于保持一个对应线上运行代码的 code base。

develop分支为主开发分支,不直接提交代码。

feature分支为新功能分支,feature分支都是基于develop创建的,开发完成后会合并到develop分支上。同时存在多个。

release分支基于最新develop分支创建,当新功能足够发布一个新版本(或者接近新版本发布的截止日期),从develop分支创建一个release分支作为新版本的起点,用于测试,所有的测试bug在这个分支改。测试完成后合并到master并打上版本号,同时也合并到develop,更新最新开发分支。(一旦打了release分支之后不要从develop分支上合并新的改动到release分支),同一时间只有1个,生命周期很短,只是为了发布。

hotfix分支基于master分支创建,对线上版本的bug进行修复,完成后直接合并到master分支和develop分支,如果当前还有新功能release分支,也同步到release分支上。同一时间只有1个,生命周期较短。

简化的流程图:

二 操作步骤

2.1 克隆远程仓库到本地

git clone http://mrivandu@127.0.0.2:8888/demo/GitFlow.gitgit config credential.helper store # 记住密码,后续提交无需再次输入密码。

2.2 配置提交用户信息

进入仓库所在目录,配置用户信息。用户信息包括用户名及邮箱,如果是全局配置,加上–global选项。

git config user.name "mrivandu"git config user.email "mrivandu@"

2.3 develop 分支

develop 分支与 master 分支如下图:

git add .git commit -m "init"git branch develop mastergit push -u origin develop

2.4 feature 分支

提交流程如图:

通过develop新建feaeure分支

git checkout -b feature develop

feature 分支可以只存在本地仓库,也可以推送至远程服仓库:

git push -u origin feature

在本地仓库修改相关文件:

git statusgit add .git commit -m "modify"

完成 feature 分支的开发后,合并到 develop 分支

git pull origin developgit checkout develop#--no-ff:不使用fast-forward方式合并,保留分支的commit历史#--squash:使用squash方式合并,把多次分支commit历史压缩为一次git merge --no-ff featuregit push origin develop

feature 分支合并到 develop 后,删除本地分支(也可以保留不删除):

git branch -d some-feature

如需删除远程feature分支:

git push origin --delete feature

2.5 release 分支

提交流程如图:

检出 release 分支:

git checkout -b release-0.1.0 develop

完成 release 分支的开发,合并回 master 分支和 develop 分支:

git checkout mastergit merge --no-ff release-0.1.0git pushgit checkout developgit merge --no-ff release-0.1.0git push

删除本地 release 分支(亦可保留):

git branch -d release-0.1.0

删除远程仓库 release 分支(亦可保留):

git push origin --delete release-0.1.0

合并 master/devlop 分支之后,打 tag:

git tag -a v0.1.0 master -m "demo version"git push --tags

2.6 hotfix 分支

提交流程如图:

完成 hotfix 分支,合并至 master 分支:

git checkout -b hotfix-0.1.1 mastergit checkout mastergit merge --no-ff hotfix-0.1.1git push

完成 hotfix 分支,合并至 develop 分支:

git checkout developgit merge --no-ff hotfix-0.1.1git push

删除 hotfix 分支:

git branch -d hotfix-0.1.1git push origin --delete hotfix-0.1.1 # 如果本地已向 远程仓库推送,可以使用该命令删除远程 hotfix 分支

完成 hotfix,打 tag:

git tag -a v0.1.1 mastergit push --tags# 删除本地 tag: git tag -d v0.1.1# 删除远程 tag:git push origin :refs/tags/v0.1.1

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。