当然,每个项目开发并非都如此,不过大致遵循上图。 1)上线使用master分支。 功能开发、测试完毕后,合并到master分支,并打标签,然后使用标签部署上线。

git tag v2.3 -a

2)线上bug修正使用hotfix分支。 上线后,出现了bug,便check out一个新分支hotfix分支。修改后合并到master分支,打标签,上线。 在主版本和次版本之后加一个补丁版本,用于标记hotfix次数

git checkout -b hotfix
git push --set-upstream origin hotfix
git checkout master
git merge hotfix
git tag v2.3.1 -a
git push --tags

3)开发新功能使用develop分支。每个人可以使用自己feature分支,最后再合并到develop分支。

git checkout -b develop
git checkout -b feature/develop-funca
git checkout -b feature/develop-funcb

git checkout develop
git merge feature/develop-funca
git merge feature/develop-funcb

git push --set-upstream origin develop
git checkout master
git merge develop
git tag v2.4 -a
git push --tags

与上图比较,我们没有使用release分支,开发、测试等仅在develop分支,需要才会checkout新的分支。