我们当前的工作流程:
从dev创建功能分支。 开发功能并推动分支之后 请执行以下操作:
git checkout dev
git pull --rebase
(在开发人员上)
git checkout my-feature-branch
git rebase dev
解决冲突,然后执行git push -f或git push(第一次)。
我的问题来自我们的开发团队成员之一:
我们是否需要按原样进行整个过程,还是可以直接进行拉取请求,特别是响应始终是“我正在使用一个其他开发人员都不共享的组件” ?
预先感谢
答案 0 :(得分:2)
比方说,当您在feature-branch
上工作时,新内容会集成到dev
分支中。因此历史记录可能如下所示:
1 - 2 - 3 - 5 (dev)
\
4 - 6 - 7 - 8 (feature-branch)
如果您仅创建一个pull-request,而dev
分支维护者必须将其合并,则他将需要处理潜在的冲突-对dev
分支维护者而言是不利的。
如果您将feature-branch
分支重新设置到dev
上并解决潜在的冲突,然后再提交拉取请求,
1 - 2 - 3 - 5 (dev)
\
4 - 6 - 7 - 8 (feature-branch)
对于dev
分支维护者而言,这只是一个快速简便的快速合并。
此工作流程强制开发人员在本地解决冲突,并使集成商的工作更加轻松。
答案 1 :(得分:1)
您的工作流只是典型的基础工作流,我希望看到它被用来将功能分支直接放在其祖先(在本例中为Bindings.Update()
分支)之前。如果您希望在拉取请求期间保持dev
分支my-feature-branch
快速前进的可能性,那么可以,您需要执行所有这些步骤。请注意,可能需要强制执行,因为基于dev
的重新编写可以重写功能分支的历史记录。
关于您是否应该执行基准工作流还是合并还是其他工作流,这是主观的,并且取决于很多事情。但是,如果重新设置确实最有意义,那么我同意您的当前步骤,并且没有找到简化它的方法。