我正在合并一个可能有很多冲突的远程分支机构。我怎么知道它是否会有冲突?

我没看到任何类似于,git合并的预演。


当前回答

我的简单粗暴解决方案是:

创建一个“pre-master”分支(当然来自master) 将所有你想要的东西合并到这个预master中。 然后你可以看到合并是如何发生的,而不触及主。 将pre-master合并为master OR 将所有想要发布的分支合并到master中

不管怎样,我会听从@orange80的建议。

其他回答

这可能很有趣:从文档中:

如果您尝试合并,导致复杂的冲突,并希望 重新开始,你可以用git merge -abort恢复。

但你也可以用幼稚(但缓慢)的方式来做:

rm -Rf /tmp/repository
cp -r repository /tmp/
cd /tmp/repository
git merge ...
...if successful, do the real merge. :)

(注意:仅仅克隆到/tmp不能工作,你需要一个副本,以确保未提交的更改不会冲突)。

作为对已有答案的总结,有两种方法来检查是否存在合并冲突

Git format-patch $(Git merge-base branch1 branch2).——| git apply——3way——check -

注意,在运行上述命令时,当前的分支应该是branch1

另一种方法:

git merge --no-commit branch2
# check the return code here
git merge --abort

我的解决方案是向后归并。

不要将您的分支合并到远程“目标”分支中,而是将该分支合并到您的分支中。

git checkout my-branch
git merge origin/target-branch

你将看到是否有任何冲突,并可以计划如何解决它们。

在这之后,你可以通过git merge—abort终止合并,或者(如果没有任何冲突并且合并已经发生)通过git reset—hard HEAD~1回滚到之前的提交

我的简单粗暴解决方案是:

创建一个“pre-master”分支(当然来自master) 将所有你想要的东西合并到这个预master中。 然后你可以看到合并是如何发生的,而不触及主。 将pre-master合并为master OR 将所有想要发布的分支合并到master中

不管怎样,我会听从@orange80的建议。

为你的工作副本制作一个临时副本,然后合并,并将两者区分开来。