所以我和一个朋友一直在做一个项目。 大多数时候合并是无痛的,因为我们通常在不同的领域工作。
最近我们越来越多地碰到彼此越来越多的创造讨厌的合并(截止日期)。
所以我们开始研究如何看待合并会做什么。我找到了一种使用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
有没有人知道一个好方法来获得两个分支的差异,显示合并会引入什么?也许突出冲突?
如果没有,是否有任何可视化工具允许人们手动进行提交,因此可以选择最佳代码版本。
答案 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
。