在持续集成过程中,我们每天至少 merge 一次所有功能分支以开发分支;并至少每天将主线 pull 至特色分支。可能会有很多提交,因为功能/集成分支可以每天更新。
那么看来功能 X 不会发布。如何从开发中恢复与功能 X 相关的所有提交?
在这样的恢复之后,与所有其他功能分支一起工作的团队将 pull 入主分支(这样功能 A 代码也将从其中删除)。这可以用通常的方式完成吗?还是应该采取任何特殊步骤?
更新:经验表明,当我们尝试仔细 merge 想要的功能时,我们会遇到巨大的 merge 冲突;此外,测试需要从零开始。我们的计划是通过每天 merge 到开发中并从开发中 pull 出到功能分支来避免这种情况。在截止日,我们可能会决定某些功能未发布,因此需要回滚此功能。针对这种特定情况寻找 GIT 命令的具体建议:如何“按功能名称回滚所有提交”。谢谢!
最佳答案
作为一般经验法则,如果您必须回滚某些内容,那么您可能做错了什么。
在我看来,您的 CI 分支(由 CI 脚本下载构建和测试的分支)应该与您的发布/稳定分支分开。话虽如此,您可以在 master 中开发和 merge 并拥有专用的发布分支,反之亦然。两种方法都有优点和缺点,因此您可以选择最适合您的方法。
当您最终准备好打包版本时,您将仔细 merge 所需的功能并构建和测试该版本分支。
关于git - GIT 中的 CI : how to revert multiple commits of a feature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28903882/