Git签出标签指向“;目前不在任何分行”;

Git签出标签指向“;目前不在任何分行”;,git,version-control,git-tag,Git,Version Control,Git Tag,我在标记签出时遇到了一个非常奇怪的问题。在将develop的最新更改合并到master之后,我从master创建了一个标记,并将其推送到remote。然后在生产中成功拉取,但当我签出标记并运行git状态时,我得到 目前不在任何分行 在我的本地机器上,git状态正确地显示头部在特定标记处分离,例如1.0.0 git branch -v * (no branch) ca992e2 Example commit message develop e945a50 Example commit me

我在标记签出时遇到了一个非常奇怪的问题。在将develop的最新更改合并到master之后,我从master创建了一个标记,并将其推送到remote。然后在生产中成功拉取,但当我签出标记并运行git状态时,我得到

目前不在任何分行

在我的本地机器上,git状态正确地显示头部在特定标记处分离,例如1.0.0

git branch -v
* (no branch) ca992e2 Example commit message
develop     e945a50 Example commit message
master      ca992e2 Example commit message
有什么建议吗?

这是一种“正常”行为。 通过签出标记,可以将本地存储库的头部定位到标记上。你不再在树枝上了。如果您不打算进行任何更改,这并不重要

如果您需要进行更改,我将看到两个选项:

  • 您希望继续处理应用标记时所在的分支。然后你应该去那家分行结账

  • 您需要根据创建的标记执行修复,并且该修复不能位于最初用于创建标记的分支上。然后需要从该标记开始创建一个新分支。 然后,命令将是:

    git签出-b新分支标记


  • 被接受的答案是正确的(我投了更高的票)。详细说明最后一点,一个Git,一个非常古老的1.7版本,只是说你有一个分离的头部,但是一个更现代的2.13版本,说你有一个在v1.0.0中分离的头部-
    Git status
    命令在这两个版本之间的几年中在功能上得到了许多非常有用和重要的提升

    不清楚“在/从分离”代码的确切时间,因为未在中列出,但以下是有用项目的详细列表:

    • 1.7.1:
      git状态
      了解子模块
    • 1.7.2:
      git状态
      可以在
      -s-b
      输出中包含分支名称
    • 1.7.3.5:
      git status
      learned在路径名中引用不可打印字符
    • 1.7.6:
      git status-z
      fixes(如果在脚本中使用它,则很重要)
    • 1.7.10.13:更多的
      git状态--ceral
      git状态-z
      修复(同样,对于脚本)
    • 1.7.11.3:
      git status
      (和
      git diff
      本身)固定用于处理名为
      -
    • 1.8.2:
      git status
      学会了在这些操作期间说出哪个分支被平分或重定基址
    • 1.83:<代码> Git状态学会在<>代码> Git Reuts,<
    • 中报告
    • 1.8.4:
      git状态
      learned配置选项
      status.branch
      status.short
    • 1.8.5:
      git status
      改进了多个报告:子模块、cherry pick和当前分支(如果有)相对于其上游的状态
    • 2.4.0:
      git状态
      learned
      -v-v
      ,其
      /
      处分离
      与的分离得到改进,并与
      git分支
    • 2.5.0:
      git status
      详细介绍了正在进行的交互式重新基准
    • 2.6.2:
      git状态
      不再表示头上拆下的无用

    “在分离”或“从分离”状态是通过扫描reflog的
    头部来计算的,因此它不是100%可靠的,这取决于你在reflog中遇到了什么。它仍然非常有用。

    谢谢你的解释,这很有意义,但我仍在试图弄清楚为什么在一台机器上git状态显示
    当前未显示在任何分支上
    ,而在另一台机器上相同的设置显示
    头在v1.0.0分离
    是什么导致git状态的差异?除此之外,其他一切都很好,正确的提交已签出,文件中没有任何差异。@tslid:git版本在生产和本地机器上说了什么?好吧,就是这样-1.7 vs 2.13这是困扰我的问题,没有实际问题,但我在git文档中找不到。非常感谢。