我在我的公司使用git-flow已经有一段时间了,多次遇到让我困惑的情况。我正在试图找出一种最佳实践,通过git-flow将新功能集成到现有的已发布网站,在那里我将需要测试这些功能,然后将它们发布到单独的分组中。
我已经设置了一个临时站点和生产站点。我从我的开发分支部署到临时站点,并在我的开发分支看起来很好时运行git-flow版本,并且我想将我的更改从主站点部署到生产站点。只要我可以一次发布我所有的更改,这就可以很好地工作。我最近收到了许多客户的请求,要求以块为单位发布变更单-这意味着我将处理4个功能,他们希望其中2个功能在1周内发布,另2个功能在2周内发布。我认为仅仅使用git-flow特性分支并“完成”需要一起发布的分支就可以解决我的问题,但这给我留下了更多的问题。
当我为每个新特性创建一个特性分支时,我发现很多时候我需要使用我提交给另一个特性分支的一些css或js (因为它也与那个分支有关)。我也有一种感觉,当我git-flow“结束”这些分支回到develop时,我将不得不处理很多合并冲突(因为它们的提交共享很多相同的文件)。客户还希望看到我正在进行的所有更改的活动版本,当我将它们放入不同的功能分支时,我不确定如何将它们显示在一起,除非我将它们合并或重新定位到开发分支并推送到临时站点。这会毁了我批量发布它们的机会。我想过也许可以创建另一个分支来测试,并将我的特性分支重新建立在这个分支上,但我不确定这是否能解决我的问题,因为当我在工作时,我的特性分支仍然是孤立的。
我似乎找不到任何可以让我满足这些要求的工作流程,所以我非常感谢任何人的帮助。
发布于 2014-05-09 14:13:35
我最近做了一些研究,目的是解决相同的问题,并确定了“每个功能分支”策略。这个名字暗示了很多策略,但这里有一些很棒的文章详细描述了它:
http://www.acquia.com/blog/pragmatic-guide-branch-feature-git-branching-strategy
https://github.com/affinitybridge/git-bpf/wiki/Branch-per-feature-process
希望这能有所帮助
https://stackoverflow.com/questions/22082045
复制