如何判断你的头是不是在 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 中分离?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不删除任何文件的情况下从跟踪中分离文件夹?

如何从同一列sql中分离日期和时间

如何在play framework 1.3中分离application.conf以增加conf文件

如何在 JPA 中分离关联对象

如何从主要大盒子中分离颜色填充并使用正确的标签保存它们

如何从模板组件中分离模板(延迟加载模板)