所以目前我们正在组建一个团队,并使用GitFlow作为我们在Git中的版本控制工作流程。我们在每周进行生产部署的迭代中工作,包含由QA测试并由产品所有者接受的所有票证。这意味着我们可能已经部署了20张测试票,15张票通过了QA并将被添加到该版本中。发送回开发人员的5张票可能不包含在发行版中。
在我们的版本控制中,我们有以下分支:
我最初的想法是基于主分支创建功能分支,但这意味着开发人员总是在应用程序的旧版本上进行开发。这再次可能导致过程中的集成问题。
我想我不是唯一有这个问题的人。您对此问题的体验是什么?
答案 0 :(得分:2)
我非常喜欢本文中介绍的git工作流程:“http://nvie.com/posts/a-successful-git-branching-model/”
这是他们建议创建/合并功能分支的方式:
创建功能分支
开始处理新功能时,从开发分支出来 分支。
$ git checkout -b myfeature develop
切换到新的分支“myfeature”
将完成的功能纳入开发
完成的功能可以合并到开发分支中以明确添加它们 到即将发布的版本:
$ git checkout develop
切换到分支'develop'
$ git merge --no-ff myfeature
更新ea1b82a..05e9557(更改摘要)
$ git branch -d myfeature
删除了分支myfeature(是05e9557)。
$ git push origin develop
--no-ff标志使合并始终创建一个 新的提交对象,即使可以使用a执行合并 快进。这可以避免丢失有关历史的信息 存在一个功能分支并将所有提交组合在一起 一起添加了这个功能。