测试合并三个分支的更改

时间:2018-08-29 19:46:02

标签: git

我从master克隆了一个仓库,我需要从其他三个分支中提取并合并更改。第一次拉力很好。但是在第二次拉动中,我遇到了合并冲突,除非解决了冲突并提交,否则我无法从最后一个分支拉回。但是,我不想提交到Master分支或向其中推送任何内容。我什至不能创建新分支。我只想测试一下,看看是否可以合并三个分支,它们将起作用。

我正在使用git pull origin branch_name

1 个答案:

答案 0 :(得分:0)

让我们从更多地了解您想要做的事情开始。

您不想影响master;但是如果合并没有冲突,它将在master上创建合并提交(与您解决冲突并立即提交一样)。在没有创建提交的情况下,根本不可能(肯定不值得花一个方法来解决)合并到多个分支中。

这实际上没什么大不了的,因为(1)如果愿意,您总是可以创建一个临时分支(甚至使用分离的头状态),并且(2)即使您将其提交给master,也可以始终在不推动合并提交的情况下倒带母带;只有将它们推后,才将它们从分支历史中删除会变得很麻烦。

在您所在的位置,您可以完成合并或中止合并(在这种情况下,您将不得不重新开始合并并然后完成)。我会完成它。如果您想立即将master移回原处,请在完成合并后

git reset --hard HEAD^

然后

git checkout HEAD@{1}

您现在将处于分离状态,当前的检出是包含合并结果的悬空提交。如果需要,您可以在此时创建一​​个临时分支

git chekcout -b <temp_branch_name>

其中<temp_branch_name>是您要调用分支的任何地方。

然后完成您的其他合并,进行测试。完成后,您可以返回主节点,如果您创建了临时分支,则可以将其删除

git checkout master
git branch -D <temp_branch_name>

当然,另一种选择是在master上进行所有合并,运行测试,然后

git reset --hard HEAD~3

后退3个合并提交。 (再次,请记住,此选项在前提是您在合并存在的时间内不推动master-并且可能也不会拉它的前提下起作用。)