主分支,稳定永远可以待发布,不可在该分支上开发。
开发主分支,代码永远最新;所以功能分支从该分支上checkout,develop只做合并,不做开发。
功能分支,以feature/xxxx,功能名称命名。开发完成后合并到develop分支。
预发布分支,从合并过feature的develop分支上拉取,测试完成后合并回develop和master
线上紧急bug修复分支,修复完成后合并develop和master
命名: master、develop、feature以feature/功能名、release以release/功能名、hotfix以hotfix/bug名
image.png
git branch develop
git push -u origin develop
# 从develop新建feaeure分支
git checkout -b feature develop
# 推送至远程服务器
git push -u origin feature
# 修改文件
git status
git add .
git commit
git pull origin develop
git checkout develop
##合并到develop
git merge --no-ff feature
git push origin develop
git checkout -b release-0.1.0 develop
# 合并到master
git checkout master
git merge --no-ff release-0.1.0
git push
# 合并到develop
git checkout develop
git merge --no-ff release-0.1.0
git push
# 合并master/devlop分支之后,打上tag
git tag -a v0.1.0 master
git push --tags
# 删除release分支
git branch -d release-0.1.0
git push origin --delete release-0.1.0
git checkout -b hotfix-0.1.1 master
#合并到master
git checkout master
git merge --no-ff hotfix-0.1.1
git push
#合并到develop
git checkout develop
git merge --no-ff hotfix-0.1.1
git push
# 删除hotfix分支
git branch -d hotfix-0.1.1
git push origin --delete hotfix-0.1.1
# 打tag
git tag -a v0.1.1 master
git push --tags
工具使用 git flow简化上面操作
image.png
image.png
image.png