【问题标题】:Why the terminal message shows, "nothing to commit" when the message above reads, "Your branch is ahead of 'origin/main' by 1 commit."?当上面的消息显示“您的分支比 'origin/main' 提前 1 个提交。”时,为什么终端消息显示“没有提交”?
【发布时间】:2021-05-26 02:45:33
【问题描述】:

当上面的消息显示“您的分支比 'origin/main' 提前 1 个提交”时,为什么终端消息显示“没有提交”?

【问题讨论】:

  • 本地没有任何挂起的更改(没有要提交的内容)。 “领先”意味着您有未推送到源的本地提交(落后意味着您在本地没有远程更改)。这是两个不同的方面(本地与远程)。
  • 您可以考虑阅读Pro Git 以了解有关 Git 及其工作原理的更多信息。

标签: git github command-line-interface git-bash


【解决方案1】:

您已经提交了更改,因为您领先 1 次提交。 我建议执行 git status 以查看您有哪些未提交的更改。 您正在寻找的是 git push。

【讨论】:

    【解决方案2】:

    这两条消息谈论的是两件不同的事情。第一个 (Your branch is ahead of 'origin/main' by 1 commit.) 告诉您已经对本地存储库进行了 1 次提交,但您还没有将它 (get push) 推送到远程存储库。

    第二条消息 (nothing to commit...) 指的是您的本地目录。您没有对那里尚未提交的文件进行任何修改、添加或删除。所以,没有什么可提交的。

    一旦您进行了一些更改并在本地提交它们,那么您将收到有关当前分支再次在远程分支之前提交一些数量的消息。

    【讨论】:

      【解决方案3】:

      Git 的世界是这样的:

       your working tree (the files you see)
               |
               | nothing to commit to...
               V
          the index (where you git add to form a commit)
               |
               V
         actual commits (your local branch where commits go when you form them)
               |
               | you are one ahead of...
               V
         the remote repository (GitHub or whatever, an online copy of your repo)
      

      git status 描述了两组关系:工作树与索引,以及您最近的本地提交与最近返回 GitHub 或远程位置的提交。这些并不矛盾;事实上,它们之间并没有太大的关系。

      • Nothing to commit 表示您的工作树与索引匹配。您无法进行新的提交,因为您没有更改任何内容。

      • 你的分支在前面意味着你已经在本地做了一些提交(在本例中是一个),如果你想要 GitHub 或任何远程知道的地方,你需要推送.

      这两条消息实际上都没有要求采取任何行动。如果您愿意,请继续工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-29
        • 2016-05-03
        • 2023-03-10
        • 2021-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-07
        相关资源
        最近更新 更多