如何解决为什么SourceTree mac 版会显示如此凌乱的分支树图进行合并?
我有 2 个分支 v5 和 v4,我所做的是在某些时间点将 v4 合并到 v5。这是一个简单的过程。 Sourcetree 窗口版本可以清楚地看到,最左边的蓝线是 v5 分支,旁边的红线是 v4,以 commit [93ed2a5] Merge branch 'v4' into v5
为例。它的合并基础是 v5 上的 5378fca1fb
和 v4 上的 97c1be8b1f
。
但令我惊讶的是,SourceTree mac 版本(3.x 和 4.x)显示了一个相当混乱的分支树图!一开始我不知道这些台词是从哪里来的,为什么这么多!
然后我检查每条线的端点,发现每条线代表从 v4 到 v5 的合并。但我不知道为什么 sourcetree 会这样划线!
我也尝试过tower,tower 也可以正确显示分支树图(大多数情况下只有 2 行)。塔中的图形看起来类似于 sourcetree win 版本
奇怪我发现 fork 与 sourcetree mac 有相同的问题(例如检查合并提交 93ed2a5 和 b8fc27e)。所以我怀疑可能有隐藏的git问题触发sourcetree和fork显示出如此凌乱的图。
有什么想法吗?
一个评论提醒我检查这些图在拓扑上是否相同。但从我看来,他们不是。例如,v5 分支总是最左边的线,v4 线总是所有图中的第二个最左边的线。我不认为这些图在拓扑上是相同的。
解决方法
我在 sourcetree window 版本和 mac 版本中看到不同图表的原因是因为我在 win 版本中使用了日期顺序,在 mac 版本中使用了 祖先顺序。正如@matt 的评论所说,它们拓扑相同。可能不容易看到,但是如果我将所有这些线从右向左旋转(想象将它们旋转),那么这些图形确实看起来很相似。
话虽如此,我不得不说祖先顺序图相当混乱且不可读。我更喜欢塔的图。
此外,只要我记得,sourcetree mac 版本对于日期顺序有一个明显的错误。如果即使提交 A 晚于提交 B,我也将提交 A 重新设置为提交 B 的父项,则 mac 版本无法正确显示日期顺序,请参考下图,
提交 00643fa 被重新定位为 440f371 的父项。但是mac版不能一行显示。
窗口版本正确显示它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。