Gitflow学习笔记

Gitflow工作方式

一. 分支简介

master :随时可以发表的代码

master上的提交要打tag标记

要确保master上的代码一直可用,不能在master上直接修改和开发。

develop :功能最新最全

feature :个人开发分支

从develop上拉取,合并到develop上

release :发布前检测与准备

从develop上拉取,合并到master和develop上

hotfix :修复线上bug

从master上拉取,合并到master和develop上


二. 图解分支

1. 历史分支 master & develop

最基本最简单的分支,只包括了master和develop
Gitflow学习笔记_第1张图片

2. 功能分支 feature

要对历史版本新开发一些功能,就需要从develop上拉取一个feature分支
Gitflow学习笔记_第2张图片

3. 发布分支 release

在发布之前做最后的测试功能和兼容性,于是从develop上拉取一个release分支进行发布前的准备;将release上的修改提交到master和develop上
Gitflow学习笔记_第3张图片

4. 维护分支 hotfix

当遇到线上的bug时,从master上拉取一个hotfix,在hotfix上修复的代码最后提交到master和develop上
Gitflow学习笔记_第4张图片


三. 常用命令

1. 创建自己的分支

git checkout -b angela-feature develop
// -b表示:如果分支不存在,则新建

2. 在自己的分支上修改并提交

git status
git add hellotest.cpp
git commit -m "I'm testing"

3. 推送自己分支的修改

git push -u origin angela-feature  
// 指定angela-feature分支推送到远程仓库origin里
// -u表示:建立本地分支和远程对应分支的关联
// 关联后,只需用 git push 即可

4. 合并angela到develop

git pull origin develop
// 确保develop分支是最新的
git checkout develop
git merge angela-feature
git push
git branch -d angela-feature
// 可选,是否删除该分支

5. 准备发布

git checkout -b release-0.1 develop

6. 准备发布完毕

// 合并到master
git checkout master
git merge release-0.1
git push
// 合并到develop
git checkout develop
git merge release-0.1
git push
// 删除release
git branch -d release-0.1

7. 打标签发布

git tag -a 0.1 -m "initial all" master
git push --tags

8. 解决线上bug

git checkout -b hotfix-#001 master

9. 线上bug解决完毕

// 合并到master
git checkout master
git merge hotfix-#001
git push
// 合并到develop
git checkout develop
git merge hotfix-#001
git push
// 删除hotfix
git branch -d hotfix-#001

四. 参考链接

1. 主要参考内容

深入理解学习Git工作流
git 团队协作的一些命令

2. 辅助参考内容

Git-flow 工作流
git merge 和 git rebase 小结

你可能感兴趣的:(Gitflow学习笔记)