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

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


当前回答

如果你想从B快进到A,那么你必须确保git log B..A没有显示任何东西,也就是说A没有B没有的东西。但即使B. A有一些东西,你仍然可能能够合并而没有冲突,所以上面说明了两件事:将会有一个快进,因此你不会得到冲突。

其他回答

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

我知道这在理论上是跑题的,但对于从谷歌搜索到这里的人来说,实际上是非常切题的。

当有疑问时,你可以使用Github界面创建一个pull-request,并检查它是否表明干净的合并是可能的。

只要将当前分支与远程分支区别开来,这将告诉你当你进行拉/合并时将会发生什么变化。

#see diff between current master and remote branch
git diff master origin/master

如果你想从B快进到A,那么你必须确保git log B..A没有显示任何东西,也就是说A没有B没有的东西。但即使B. A有一些东西,你仍然可能能够合并而没有冲突,所以上面说明了两件事:将会有一个快进,因此你不会得到冲突。

我做了一个别名来做这件事,就像一个魅力,我这样做:

 git config --global alias.mergetest '!f(){ git merge --no-commit --no-ff "$1"; git merge --abort; echo "Merge aborted"; };f '

现在我只需调用

git mergetest <branchname>

看看是否有任何冲突。