如何判断你的头是不是在 git 中分离?

Posted

技术标签:

【中文标题】如何判断你的头是不是在 git 中分离?【英文标题】:How to tell if your head is detached in git?如何判断你的头是否在 git 中分离? 【发布时间】:2013-06-23 18:11:15 【问题描述】:

你如何判断你的头是否已经在 git 中分离了?我有一种感觉,这可能是我问题的根源。

【问题讨论】:

【参考方案1】:
git branch

会显示

* (no branch)
  master
  develop

如果你处于分离状态。

【讨论】:

* master 连接了? 是的,这意味着你在master上。【参考方案2】:

git status 应该告诉你所有相关的事情。

您可以手动查看 .git/HEAD 文件的内容。如果它有一个散列,你就分离了。如果有像ref: refs/heads/master 这样的引用,你就没有。

【讨论】:

【参考方案3】:

另一种对脚本有用的替代方法是

git rev-parse --abbrev-ref --symbolic-full-name HEAD

这给了我HEAD 一个分离的头,或者其他情况下的分支名称。

【讨论】:

感谢您以编程方式提供明确的答案...【参考方案4】:

对于 git 2.22 及以上版本,可以使用命令git branch --show-current。在分离头状态的情况下,输出将没有任何内容。

如果您想在脚本中使用它,我们可以将其与wc 合并,如下所示:

git branch --show-current | wc -l

此命令将在分离头的情况下返回0,在有效分支的情况下返回1

【讨论】:

以上是关于如何判断你的头是不是在 git 中分离?的主要内容,如果未能解决你的问题,请参考以下文章