Git分支管理策略

Git 分支管理策略

最近团队要启用git,需要制定分支管理策略,无意中发现了Git flow。so,让我们通过本文做简单的探讨和实践。

Git flow将分支分为master,develop,feature,release,hotfix五种,其中release和hotfix为临时分支。我们通过一个例子来展示这几种分支的使用。

我们假设有这样一个产品,他有医生和用户两端。我们先提交一些文件,然后按Git flow这个模型来,我们可以再master分支上建一个dev分支

git checkout -b dev

create branch dev

在这个分支上我们可以提交一些代码,然后在此分支上建两个分支

# 用户端
git branch feature-user
# 医生端
git branch feature-doctor

create feature

这两个分支可能为不同的开发人员所开发使用。程序员A能力突出,开发了一段时间便将分支feature-user合并到develop

git checkout dev
git merge feature-user

merge user

merge doctor

程序员B能力稍弱,在之后将分支feature-doctor合并到develop。现在develop分支有了用户和医生两个端的代码,我们终于可以发布一个1.0版本,so,我们拉一条release分支

git checkout -b release

create branch release

接着,我们的测试工程师就可以对当前的产品进行测试了。很快,测试提交了若干个bug,我们也相应在release这条分支上修复了bug。最后,产品终于要发布新版本0.1了,于是我们在dev分支上合并了release分支,继而又在master分支上合并了release分支

git checkout dev
git merge release
git checkout master
git merge dev

merge release

然后我们为我们的新版本打上版本号, 并删除release分支

git tag -a v0.1 -m 'new version 1.0'
git branch -d release

give tag

当然事情还没有结束,我们的0.1版本有用户反馈说有问题,在一番详查后我们发现了问题所在,so,我们在master分支我们拉一条hotfix分支,迅速提交了修复代码,并合并到develop和master(保持develop最新的代码,master是最稳定的代码)

git checkout -b hotfix
git checkout master
git merge hotfix
git checkout dev
git merge hotfix
git branch -d hotfix

hotfix merge hotfix

这样一个完整的开发流程就呈现在我们面前了:)

参考资料

Git 在团队中的最佳实践--如何正确使用Git Flow

分享