以下示例展示如何进行单个发布周期,首先您需要创建一个中央代码库,然后创建一个开发分支。
创建开发分支
git branch develop
git push -u origin develop
该分支包含您的项目的完整历史记录,而master则包含新版本。然后,您的团队应克隆中央代码库并为开发分支创建跟踪分支。
为开发分支创建跟踪分支
git clone ssg: //user@/path/
git checkout -b develop origin/develop
每个人现在都有了本地副本。因此,您决定创建新功能。为此,您将以开发分支为基础创建各自功能的单独分支。
开始新功能
git checkout -b some-feature develop
您可以根据需要向功能分支添加提交,然后:
git status
git add
git commit
您完成了功能开发
在添加新功能之后,您决定您的功能已经准备好,并且现在可以将其合并到本地的 develop 分支并将其推送到中央仓库,就像这样:
git pull origin develop
git checkout develop
git merge some-feature
git push
git branch -d some-feature
第一条命令确保在尝试合并功能之前,开发版本是最新的。注意,功能绝不能直接合并到master。
您开始准备发布
当其他开发人员正在开发其功能时,您可以开始准备项目的第一个正式发布版本,您可以使用新分支来封装发布准备工作。这一步还确定了发布的版本号:
git checkout -b release-0.1 develop
这个分支是用来清理发布内容、测试一切、更新文档以及做任何其他准备工作来准备即将发布的版本。它类似于专门用于打磨发布版本的功能分支。
完成发布
一旦发布准备就绪,您会将其合并到主分支和develop分支中,然后删除发布分支。重要的是要合并回develop,因为可能已经添加了关键更新到发布分支,它们需要对新功能可访问。如下所示:
git checkout master
git merge release-0.1
git push
git checkout develop
git merge release-0.1
git push
git branch -d release-0.1
你应该知道,发布分支在功能开发和公共发布之间起到了缓冲作用。每当你将某些内容合并到 master 分支时,最好为易于参考而标记提交:
git tag -a 0.1 -m "Initial public release" master
git push --tags
如果你想要更好的解释,请访问这个链接:https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow