我从master克隆了一个仓库,我需要从其他三个分支中提取并合并更改。第一次拉力很好。但是在第二次拉动中,我遇到了合并冲突,除非解决了冲突并提交,否则我无法从最后一个分支拉回。但是,我不想提交到Master分支或向其中推送任何内容。我什至不能创建新分支。我只想测试一下,看看是否可以合并三个分支,它们将起作用。
我正在使用git pull origin branch_name
答案 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
-并且可能也不会拉它的前提下起作用。)