git diff看看合并会引入什么

时间:2012-07-30 18:08:18

标签: git version-control merge git-merge

所以我和一个朋友一直在做一个项目。 大多数时候合并是无痛的,因为我们通常在不同的领域工作。

最近我们越来越多地碰到彼此越来越多的创造讨厌的合并(截止日期)。

所以我们开始研究如何看待合并会做什么。我找到了一种使用git diff的方法:

git diff mybranch...hisbranch

这给出了非常好的结果。问题是,因为它使用了最后一个共同的祖先,并且祖先越来越远,合并中有很多垃圾在我们的任何一个分支中都没有被改变。

所以我想知道有没有办法可视化合并会做什么。

我试过了:

git diff $(git-merge mybranch hisbranch) hisbranch

这似乎工作正常,但我想以其他方式可视化合并,所以我尝试了:

git diff $(git-merge hisbranch mybranch) mybranch

但在这种情况下git-merge: command not found

有没有人知道一个好方法来获得两个分支的差异,显示合并会引入什么?也许突出冲突?

如果没有,是否有任何可视化工具允许人们手动进行提交,因此可以选择最佳代码版本。

1 个答案:

答案 0 :(得分:5)

还有其他方法可视化会发生什么,但我发现最简单的是git merge --no-commit。从手册页:

--commit, --no-commit
Perform the merge and commit the result. This option can be used to override --no-commit.

With --no-commit perform the merge but pretend the merge failed and do not autocommit, to give the user a chance to inspect and further tweak the merge
result before committing.

基本上,我只发出git merge --no-commit <branch>并检查结果。如果我不喜欢它们,我会发出git merge --abort,或者如果我想提交合并,我会正常使用git commit