GIT壁球:是否会引起问题?

时间:2018-12-04 00:20:10

标签: git

假设我们有一个名为feature-branch的功能分支。该分支的开发人员分支用于获取票证,然后打开feature-brach的PR。

如果发生以下情况:

  1. 开发人员A分支feature-branch,并在分支ticket-a上开发
  2. 开发人员B然后转到feature-branch并将先前的两次提交压缩为一次。
  3. 开发人员A将ticket-a合并为feature-branch

会有合并冲突或任何问题吗?由于ticket-a分支将有两个提交,而feature-branch则只有两个提交,因此被压缩。

1 个答案:

答案 0 :(得分:1)

如果您有类似的东西:

a[i]

然后您壁球

Ancestor -- A -- B
                  \-- C

您将更改历史记录分支,并使用新的哈希值创建新的提交。因此,如果您尝试合并这两个分支,则git将尝试找到它们的共同祖先,然后从此处开始合并。但是Ancestor -- AB \-- A -- B -- C 并没有包含A所做的所有更改,这会引起冲突。

要解决此问题,建议您重新设置其他分支的基础,使其包含压缩的提交。您可以在第二个分支中使用rebase onto完成此操作:

  

git rebase --on to AB C branch2