合并后表示错误的第一个父级的GitHub网络图

时间:2014-09-03 15:10:34

标签: git github

我发现GitHub网络图和git日志之间存在差异。

比较名为network graph

的GitHub存储库的niagara

enter image description here

git log --graph --all --oneline --decorate的输出:

* 13d9ccc (origin/dev, dev) edit printState
* 32e4285 add support for different jewels
* 23f6c5d fix weather application
* 4236119 refactor
*   a731e72 (refactor) Merge branch 'fix' into dev
|\
| * 6d3ca43 (fix) fix winrate determination
| * 5f39b62 fix weather application to second boat
| * 8e2b813 fix win condition
| * 57fc73d fix win percentage
| * 48b8a0f fix possibleMove
|/
*   dabc470 (HEAD, origin/master, master) Merge pull request #1 from axsk/boats

修改: 绿色分支上的前五个节点对应于五个连续的修复提交(48b8..6d3c),我在(本地)fix分支中提交,其头部位于6d3c。 然后,我使用fixdev分支合并到--no-ff分支。这在git log的输出中正确显示,但GitHub只显示绿色弯曲箭头而不是fix提交的单独分支。

我遇到了什么问题,或者这是GitHub方面的某种错误?

2 个答案:

答案 0 :(得分:3)

据我所知,你是对的:有些东西是关闭的。特别是,弯曲的绿色箭头似乎表明提交6d3ca43是“两次”提交a731e72的父级,这没有任何意义。

enter image description here

enter image description here


据我所知,在Git中,没有办法让两个父母实际上是同一个。即使您处于以下情况(并且您的工作目录是干净的),

o -- o [master=HEAD,develop]

运行

git merge --no-ff develop

是无操作:该命令的输出只是

Already up-to-date.

结论:我的感觉是,这是GitHub方面的一个错误......


更新:我联系了GitHub对此的支持,他们又回复了我。请阅读以下内容。

  

感谢您关注我们对该网络图的关注 - 我同意这看起来令人困惑。我已经打开了一个内部问题让我们的团队了解这一点,我们会在收到更多信息后立即回复您。

答案 1 :(得分:0)

这发生在我身上。以前,下图中蓝色的水平线表现出这种行为(就像问题中的绿色怪癖)。然而,进行后合并(紫色线变为黑色,然后重新合并到开发中)导致蓝线正确显示(可能与具有与黑线相同的起点有关)。enter image description here < / p> 编辑:经过进一步测试并在实践中多次看到此错误后,我注意到新的提交(特别是导致图形在新配置中重新绘制的合并提交)通常会清除问题并绘制错误的分支正确,与正确的父母。一个人不一定要反向合并来解决这个问题。令人欣慰的是,它似乎纯粹是图形问题而不是基础提交历史的任何问题。