在开发新的JIRA时,来自原点或未合并分支的新分支?

时间:2015-09-04 09:15:47

标签: git merge

想知道这种做法。假设有一个上游,我从那里分叉。

对于我将要工作的每张JIRA票,我将从我的原点创建一个新的本地分支。当我完成JIRA时,事情顺利,我将分支推到原点,向上游创建拉取请求,合并之后,我从上游拉出并从那里开始。

我不确定,如果JIRA分支在推送后尚未合并到上游,我已准备好开发新的JIRA。然后根据

为新的JIRA创建一个新的本地分支
  • 以前未合并的JIRA本地分支(即未更改的未更改)

  • 以前未合并的JIRA的父级(即没有你在未合并的JIRA中所做的更改)

  • 如果这两个JIRA中的文件没有依赖性
  • ,则无关紧要

1 个答案:

答案 0 :(得分:1)

我使用以下方法:

  • 始终基于上游分支创建新功能分支(针对您的JIRA故障单),忽略您(以及任何其他人)的未合并更改。这样,你总是在一个干净的状态下工作。
  • 在创建拉取请求之前,请从upstream更新本地仓库,并在传入的更改中重新设置功能分支。

在我看来/经验中,这是最干净的做事方式,因为无论如何你必须对任何传入的更改重新调整你的传出更改。它还确保每个拉取请求仅包含您当前正在处理的故障单的更改,而不包含任何其他未合并的故障单。

如果您根据第一张未合并的机票开始处理第二张JIRA票,您将遇到以下问题:

  • 您的第二张PR不仅会包含第二张票的修正,还会包含第一张未合并PR的更改,这些更改可能不会对长期影响产生影响,但会污染第二张PR并进行无关更改。
  • 由于您可能不是唯一一个处理代码的人,因此在创建PR之前必须先执行pull/rebase步骤,因为在此期间其他人的更改可能已合并到上游回购中。

您可能需要查看Git Flow,它建议使用类似的分支模型,每个功能都有一个专用的独立功能分支。

另一种使用Pull Request的流行分支模型是GitHub Flow模型。