没有持续集成的软件开发

Software Development without Continuous Integration

持续集成的认可淹没了关于软件开发方法的讨论,以至于我无法在网上找到任何推荐替代方法的东西。

我希望避免的持续集成问题是删除功能所带来的困难。例如,独立开发了两个功能。使用持续集成,功能 A 将合并到主线,然后功能 B 将与主线同步,集成功能 A。如果稍后决定要在没有功能 A 的情况下发布功能 B,则必须从中提取功能 A功能 B。由于功能 A 的额外更改和与其他功能的集成所必需的同步,这可能会进一步复杂化。

一种方法是拥有一个集成功能的分支,而无需先与集成分支同步。不是提取功能,而是简单地重新创建集成分支,而不排除要排除的功能。这种方法引入了持续集成中不存在的冲突解决的细微差别,例如在重新创建集成分支时以相同的方式重复冲突解决。

我希望找到已经解决这些问题的既定工作流程 - 最好使用 git,最好使用 GitHub。

如果 Stack Overflow 社区中的任何人可以指导我使用这样的工作流程,将不胜感激。

工作流程由不同的开发团队定制,以适应您的开发团队、所使用的软件技术和平台、利益相关者、部署计划、财务和时间预算以及各种其他因素的需求.向您提供具体建议需要更深入地了解您的需求——超越持续集成并能够回滚特定的已合并功能。根据您已经提供的信息提出建议可能会引发后续考虑,为扩展 pros/cons 对话提供大量机会。你的问题肯定没有单一的答案。

因此,我不想提供一个,而是想推荐一些流行的面向团队的 Git 工作流策略的概述。请将此视为有用的起点: https://www.atlassian.com/git/tutorials/comparing-workflows