Github分支在前面消息不清楚

Github分支在前面消息不清楚,git,github,Git,Github,我已经阅读了以上两个问题,但仍然没有回答我的问题。基本上我所做的是 在GitHub中创建一个新的存储库 克隆并获取本地linux设备中的数据 进行更改执行“git add”,然后执行“git commit-m”消息 最后做一个“git-push”。这很好,我使用了建议使用的https协议,而不是SSH协议(请注意,如果我只做“git-push”,它使用的是SSH协议,我还没有配置,但失败了) 执行“git pull”和“git fetch”,所有这些操作都成功地执行了“已经是最新的” 访问git

我已经阅读了以上两个问题,但仍然没有回答我的问题。基本上我所做的是

  • 在GitHub中创建一个新的存储库
  • 克隆并获取本地linux设备中的数据
  • 进行更改执行“git add”,然后执行“git commit-m”消息
  • 最后做一个“git-push”。这很好,我使用了建议使用的https协议,而不是SSH协议(请注意,如果我只做“git-push”,它使用的是SSH协议,我还没有配置,但失败了)
  • 执行“git pull”和“git fetch”,所有这些操作都成功地执行了“已经是最新的”
  • 访问github网站,我可以看到更改
  • 现在运行“git status”,我现在看到以下内容

     * master                a99daf0 [ahead 9] submit
      remotes/origin/HEAD   -> origin/master
      remotes/origin/master 81c7ec1 remove out files
    
    在分支主机上
    您的分支比“原始/主分支”提前9次提交

  • 这不是我所期望的。有人能告诉我为什么git认为我在9次提交中领先于源站/主站。我推拉了数据,所以我希望我的本地repo与远程主站/主站repo完全同步

    命令“git branch-av”显示以下内容

     * master                a99daf0 [ahead 9] submit
      remotes/origin/HEAD   -> origin/master
      remotes/origin/master 81c7ec1 remove out files
    

    您领先于origin/master,因为您已将自己的修补程序提交到当前分支

    这可以通过以下方式显示:

    $ git branch -av
    master         0123abcd [ahead 9] Current commit comment
    
    这是因为您的本地分支是您自己的私有副本,实际上与origin/master不同。虽然您的本地分支
    master
    设置为跟踪
    origin/master
    。因此git会通知您这两个分支之间的差异

    上面的命令将显示
    master
    所在的点,您将看到
    origin/master
    的另一个条目

    现在,如果您先执行
    推送
    ,然后执行
    获取
    ,然后执行
    拉取
    ,则当前提交id(显示在
    git branch-av
    中)应该是相同的。否则,您需要找出原因。可能:

    $ git log origin/master..master   # this can help explain ?  OR...
    $ git diff origin/master..master  # this can help explain
    
    检查您在github上通过HTTP/browser看到的提交id是否与来自
    git branch-av
    的哪个分支报告的提交id相同

    如果没有差异,您可以始终
    签出
    一个新分支,切换到它,然后尝试删除旧的主分支
    git branch-d master
    ,默认情况下,如果有补丁丢失(因为它们尚未合并并推送到上游主分支)

    如果它不允许您删除分支,您可以让git告诉您两个分支在哪个提交id共享相同的遗产(“它们都是从同一版本开始的,那是什么时候?”)

    这将向您显示两个分支共享的最后一次提交。从这一点开始,每个分支以各自的方式发散。您可以获取该提交id,然后比较日志输出:

    $ git log <commit-id>..<branch_name> --oneline
    $ git log <commit-id>..<other_branch_name> --oneline
    
    $git log..--oneline
    $git log..--oneline
    

    你现在可以看到它们是如何变得不同的。

    作为一个新手,我真正需要的是“Mims H Wright”所描述的答案,最终指向了链接

    基本上我不得不这么做

    git push origin master:master
    

    我已经添加了git branch-av命令的输出。这仍然不清楚。我可以看出我在前面,但我应该做什么来确保它们同步?对不起,我猜我的问题是“什么命令可以确保它们同步?”“。请注意,没有其他人在该项目上提交过任何内容,因此最好的交互式帮助位于#git.的freenode.net IRC上。”。。第一个问题是在web浏览存储库时github上显示的提交id是什么?github的提交历史与哪个分支av条目匹配?