我们刚刚开始将 git 用于我们的生产代码,我们在工作流程中遇到了一个小问题。我们需要弄清楚如何处理在开发功能时出现的一般代码改进/技术债务修复。
我们采用的工作流程是使用“开发”作为主要集成分支,并在“开发”的功能分支上开发所有功能。当一个功能完成后,开发人员会创建一个拉取请求,每个人都会对其进行审核以提供评论,然后再将其合并回开发中。这似乎工作得很好。
我们遇到的问题是,在功能的常规开发过程中,开发人员可能最终想要修改/重构一些通用代码以改进系统或清理一些技术债务。此更改很有价值,但与正在开发的功能没有直接关系。
根据我们的工作流程,它应该在另一个分支上完成,该分支在进入开发之前经过它自己的拉取请求和代码审查。如果我们让他们这样做,他们如何在等待完整的代码审查和合并到开发中的代码的同时将更改恢复到他们的功能分支上。
我们的想法是:
1) 将“refactorX”分支中的更改挑选到我们的特性分支中。继续开发并让 git(希望)弄清楚我们何时合并回开发它已经具有来自重构分支的更改。
2) 将“refactorX”分支合并到我们的特性分支中并继续开发。(注意:'refactorX' 的分支开发可能在开发历史的后期,所以我们认为这可能有问题)
3)我们还不知道的其他一些更聪明的选择。:)
我们正在寻找的是一些关于如何处理这部分工作流程的最佳实践指南。在谈论它更多之后,我们知道它会经常出现,我们希望在我们的工作流程中找到一种平稳有效的方式来处理它。
有什么建议吗?