Git的一个重要的功能就是分支,但真正使用的时候分支的创建和合并一直是我十分头疼的问题。
无意中发现了一个Git的插件Git-flow。通过它可以更加方便的管理我们的分支。
成功的分支结构:
上图摘自Juven Xu的博客
Git-flow最好用的地方在于,他把Git的分支分成了几类:
分支名 | 对应功能 |
---|---|
master | 主分支 |
develop | 开发分支 |
feature | 功能分支 |
release | 发布分支 |
hotfix | 修订BUG分支 |
安装Git-flow:
1
brew install git-flow
初始化:
在Git仓库下
1
git flow init
然后一路回车就行了
生成一个功能分支:
f1
1
git flow feature start f1
Git-flow会从
develop
分支创建分支feature/f1
并自动帮我们切换到功能分支feature/f1
下面,然后就可以修改代码并提交了,功能修改完成后1
git flow feature finish f1
feature/f1
中的代码会合并到develop
里面,然后切换到develop
分支,删除feature/f1
。发布版本:版本号
1.0
1
git flow release start 1.0
Git-flow会从
develop
分支创建分支release/0.1
并自动帮我们切换到release/0.1
下,在修改完成后1
git flow release finish 1.0
Git-flow会依次切换到
master
,develop
分支下合并release/0.1
中的commit,然后用git tag
加上tag 0.1Bug修复:
bug1
1
git flow hotfix start bug1
Git-flow会从
master
分支创建分支hotfix/bug1
并自动帮我们切换到hotfix/bug1
下,在修改完成后1
git flow hotfix finish bug1
Git-flow会依次切换到
master
,develop
分支下合并hotfix/bug1
中的commit。
- 总结
分支名 | 起点分支 | 终点分支 |
---|---|---|
feature | develop | develop |
release | develop | master/develop |
hotfix | master | master/develop |
当git flow xxx finish
后当前分支就会被删除。
- 参考