1

我是 Git 的新手,我想知道使用这样的 SCM 是否可以实现这个想法。

我的想法是让 DEV 团队在本地处理功能,然后将这些功能推送给 QA。此时,当 QA 测试和验证故事时,业务可以决定将在 prod 中安装哪些故事。

例如,DEV 正在处理故事 A、B、C 和 D。然后这 4 个在 QA 中进行了测试,但企业决定仅在生产中实际安装 B 和 D。

基本上,QA 将拥有 PROD 中的所有故事,可能还有更多。

甚至可以使用 git 做这样的事情吗?您是否看到使用这种方法的问题(故事之间的依赖关系可能是其中之一)?

谢谢!罗伯托

4

1 回答 1

2

是的!我写了一篇关于这个工作流程的整篇文章:http: //dymitruk.com/blog/2012/02/05/branch-per-feature/

这种方法的关键是所有功能或任务都从同一点开始。这使任何人——甚至非程序员——都可以在特定环境或阶段选择他们想要的功能。您可以为其中的每一个指定一个分支。

如果您希望能够让任何人发布具有临时混合和匹配功能的版本,强烈建议从存储库中的 .git 目录共享您的 rr-cache 目录。这样,一旦解决了冲突,当有人抓取一些特性并将它们合并到一个新分支上时,就不需要重新解决它。这被称为rerere,我在文章中解释它。此外,为了自动化共享,您需要编写脚本的基本命令如下所示:共享 rerere 缓存这样您就可以让任何非开发人员也利用这一点。

这并非没有争议。去年(大约一年半前)与一些编程重量级人物就这个问题进行了激烈的讨论。我记录了长时间的讨论并将其包含在内,以便您自己判断: http: //dymitruk.com/old-comments-about-branch-per-feature.html

总之,本学科将允许您在任何时间点部署任何完整的功能集 - 无论它们的编码顺序如何。

于 2012-10-26T17:10:40.587 回答