处理相关PRs的Git工作流

处理相关PRs的Git工作流,git,Git,比如说,当您在开发时,您会对一些工具进行更改或重构一些代码,从而影响将来的特性。如果您随后决定从第一个PR分支,那么从主PR管理更新将变得单调乏味且容易出错。你必须记住哪个分支是基于哪个分支的 如果您需要对PR1进行更改,则必须记住每次都要重新设置PR2的基址。如果PR1被延迟,那么您需要从PR2中挑选您的提交,但是如果它们依赖于PR1,它可能很快变得超级复杂。不小心将master合并到PR1中会使事情变得更加困难 除了更快地合并您的PRs之外,是否还有其他策略来处理从属PRs 选择权 根据建

比如说,当您在开发时,您会对一些工具进行更改或重构一些代码,从而影响将来的特性。如果您随后决定从第一个PR分支,那么从主PR管理更新将变得单调乏味且容易出错。你必须记住哪个分支是基于哪个分支的

如果您需要对PR1进行更改,则必须记住每次都要重新设置PR2的基址。如果PR1被延迟,那么您需要从PR2中挑选您的提交,但是如果它们依赖于PR1,它可能很快变得超级复杂。不小心将master合并到PR1中会使事情变得更加困难

除了更快地合并您的PRs之外,是否还有其他策略来处理从属PRs


选择权 根据建议

加快合并速度

  • 拆分组件以避免合并冲突。树枝只应接触 单个组件
  • 将CODEOWNERS文件放在子目录中,并允许所有者直接合并,而无需对小更改进行PR审查
IntelliJ变更集(刚刚想到)

  • 一次打开一个PR,并对相关功能使用变更集而不是提交。这基本上是一个更容易的方法来挑选樱桃。变更集支持大块,因此您可以对同一文件进行多次更改,并保留两个单独的变更集
在我的团队中,我们尝试了很多方法,除了小型且快速合并的PRs(这并不总是可能)之外,唯一有效的方法是将项目分解为具有定义良好的版本化接口的组件。批量更新,以便一次更新所有分支,为了减少上下文切换。在我的团队中,我们尝试了很多方法,除了小型和快速合并的PRs(这并不总是可能)之外,唯一有效的方法是将项目分解为具有定义良好的版本化接口的组件。批处理更新,以便一次更新所有分支,以减少上下文切换。