测试合并三个分支的变化

问题描述 投票:0回答:1

我克隆了一个来自master的repo,我需要从其他三个分支中提取和合并更改。第一次拉动很顺利。但是在第二次拉动时,我遇到了合并冲突,除非我修复冲突并提交,否则我无法从最后一个分支拉出来。但是,我不想承诺Master分支或推送任何东西。我甚至不能创建新的分支。我只是想测试,看看我是否拉动并合并三个分支,它们将起作用。

我正在使用git pull origin branch_name

git
1个回答
0
投票

让我们首先了解一下你想要做的事情。

你不想影响master;但如果合并没有冲突,它将在master上创建一个合并提交(就像你解决冲突并立即提交一样)。在没有创建提交的情况下合并多个分支本质上是不可能的(当然不值得制定方法的麻烦)。

然而,这真的不是什么大不了的事,因为(1)如果你愿意,你总是可以创建一个临时分支(或者甚至使用分离的头状态),(2)即使你提交它,你也可以不用推动了合并提交;只有当你推动它们然后从分支历史中删除它们才会变得麻烦。

从您所在的位置,您可以完成合并,也可以中止它(在这种情况下,您最终必须重新启动它然后完成它)。我会完成它。如果你想立即将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 - 也许不要拉它 - 在合并存在的时候。)

© www.soinside.com 2019 - 2024. All rights reserved.