我发现GitHub网络图和git日志之间存在差异。
比较名为network graph
的GitHub存储库的niagara
到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
。
然后,我使用fix
将dev
分支合并到--no-ff
分支。这在git log
的输出中正确显示,但GitHub只显示绿色弯曲箭头而不是fix
提交的单独分支。
我遇到了什么问题,或者这是GitHub方面的某种错误?
答案 0 :(得分:3)
据我所知,你是对的:有些东西是关闭的。特别是,弯曲的绿色箭头似乎表明提交6d3ca43
是“两次”提交a731e72
的父级,这没有任何意义。
据我所知,在Git中,没有办法让两个父母实际上是同一个。即使您处于以下情况(并且您的工作目录是干净的),
o -- o [master=HEAD,develop]
运行
git merge --no-ff develop
是无操作:该命令的输出只是
Already up-to-date.
结论:我的感觉是,这是GitHub方面的一个错误......
更新:我联系了GitHub对此的支持,他们又回复了我。请阅读以下内容。
感谢您关注我们对该网络图的关注 - 我同意这看起来令人困惑。我已经打开了一个内部问题让我们的团队了解这一点,我们会在收到更多信息后立即回复您。
答案 1 :(得分:0)
这发生在我身上。以前,下图中蓝色的水平线表现出这种行为(就像问题中的绿色怪癖)。然而,进行后合并(紫色线变为黑色,然后重新合并到开发中)导致蓝线正确显示(可能与具有与黑线相同的起点有关)。 < / p> 编辑:经过进一步测试并在实践中多次看到此错误后,我注意到新的提交(特别是导致图形在新配置中重新绘制的合并提交)通常会清除问题并绘制错误的分支正确,与正确的父母。一个人不一定要反向合并来解决这个问题。令人欣慰的是,它似乎纯粹是图形问题而不是基础提交历史的任何问题。