我正在合并一个可能有很多冲突的远程分支机构。我怎么知道它是否会有冲突?
我没看到任何类似于,git合并的预演。
我正在合并一个可能有很多冲突的远程分支机构。我怎么知道它是否会有冲突?
我没看到任何类似于,git合并的预演。
当前回答
只要将当前分支与远程分支区别开来,这将告诉你当你进行拉/合并时将会发生什么变化。
#see diff between current master and remote branch
git diff master origin/master
其他回答
为你的工作副本制作一个临时副本,然后合并,并将两者区分开来。
如果你想从B快进到A,那么你必须确保git log B..A没有显示任何东西,也就是说A没有B没有的东西。但即使B. A有一些东西,你仍然可能能够合并而没有冲突,所以上面说明了两件事:将会有一个快进,因此你不会得到冲突。
不完全是那样的。但是您可以使用——no-commit选项,这样它就不会在合并后自动提交结果。通过这种方式,您可以检查合并,如果需要的话,还可以在不破坏提交树的情况下撤消合并。
如前所述,传入——no-commit标志,但为了避免快进提交,也传入——no-ff,如下所示:
$ git merge --no-commit --no-ff $BRANCH
检查阶段性的变化:
$ git diff --cached
你可以撤销合并,即使是快进合并:
$ git merge --abort
我的解决方案是向后归并。
不要将您的分支合并到远程“目标”分支中,而是将该分支合并到您的分支中。
git checkout my-branch
git merge origin/target-branch
你将看到是否有任何冲突,并可以计划如何解决它们。
在这之后,你可以通过git merge—abort终止合并,或者(如果没有任何冲突并且合并已经发生)通过git reset—hard HEAD~1回滚到之前的提交