GitHub显示错误的头提交

GitHub显示错误的头提交,git,github,version-control,github-api,Git,Github,Version Control,Github Api,我和一位同事遇到了一个奇怪的GitHub异常,似乎无法理解或理解它 背景 我们有一个应用程序,它使用我们在大型比较引擎中使用的文本片段对GitHub repo进行提交。我们只在主分支机构工作。我们不使用任何其他分支 问题 通过GitHub访问repo时,最新提交显示为XXXXXX(出于本讨论的目的)。我们开发的应用程序返回了一个错误,发现HEAD commit不是预期的,并且在运行时 git log 提交yyyyy显示为HEAD。 提交YYYYY不会显示在GitHub提交日志中,但当注入Git

我和一位同事遇到了一个奇怪的GitHub异常,似乎无法理解或理解它

背景

我们有一个应用程序,它使用我们在大型比较引擎中使用的文本片段对GitHub repo进行提交。我们只在主分支机构工作。我们不使用任何其他分支

问题

通过GitHub访问repo时,最新提交显示为XXXXXX(出于本讨论的目的)。我们开发的应用程序返回了一个错误,发现HEAD commit不是预期的,并且在运行时

git log
提交yyyyy显示为HEAD。 提交YYYYY不会显示在GitHub提交日志中,但当注入GitHub提交查看URL时,它会显示提交

两次提交具有相同的提交时间

问题

  • 以前有人经历过吗
  • 什么会导致这种行为
  • 分辨率


    我们随后进行了额外的提交以更改标头,但提交yyyyy仍然没有显示在GitHub UI中:(

    您可以通过以下方式在GitHub中找到提交历史记录:

    github->图形选项卡->网络

    检查提交id顺序,它应该与git log相同

    或者您可以使用git log--oneline--decoration--graph--all进行进一步分析

    在本地repo中,您使用的是
    git log--oneline--decoration--graph--all
    ,头部指向YYYYYY。请检查父项(yyyyyyy之前的提交id)是否为XXXXXX

    如果其父级为XXXXXX,则表示本地提交YYYYYY未推送到github

    如果其父项不是XXXXXX而是ZZZZZZ。现在需要检查github,如果XXXXXX的父项是ZZZZZZ。如果是这种情况,则意味着当您几乎同时将XXXXXX和YYYYYY推送到github,但其中一个失败时。结构如下:

    A---B---…---Z---X
                 \
                  Y
    

    @sajibkahn-本地提交被推送-正如我提到的,如果你将提交哈希注入GitHub提交查看器URL,你可以查看它。谁强制推送?@EdwardThomson Haha-强制推送没有完成,因为提交是由我们正在工作的系统完成的。嘿@Marina,这个列表中缺少提交,不幸的是我无法标记这一点作为我问题的解决答案,我更新了我的答案以供进一步分析,顺便问一下,您可以找到它。@N15M0_jk,这个答案有助于您解决问题吗?您好@Marina,它仍然不能正确解释我遇到的问题-您提到“这意味着本地提交yyyyy没有推送到github”,尽管我在解释中指出,当我将提交散列注入github提交URL时,它出现了。关于父项,我无法再检查,因为我已经通过在之后执行小提交解决了问题,然后在github提交日志中显示了丢失的提交。