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

hig*_*241 6 git version-control branch

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

mem*_*lyk 11

脚本的另一种有用的,而不必应付$GITDIRIS

git rev-parse --abbrev-ref --symbolic-full-name HEAD
Run Code Online (Sandbox Code Playgroud)

这给了我HEAD一个独立的头,或者在另一种情况下的分支名称。

  • 我想知道如果你将一个分支命名为“HEAD”(是的,这是恶意的!),那么,git 很强大,并且“git Branch HEAD”给出*致命:“HEAD”不是有效的分支名称。* :-) 。 (2认同)

Ju *_*Liu 6

git branch
Run Code Online (Sandbox Code Playgroud)

会显示

* (no branch)
  master
  develop
Run Code Online (Sandbox Code Playgroud)

如果你处于分离状态。


ban*_*nna 6

git branch --show-current对于git 2.22及以上版本,可以使用该命令。在分离头状态的情况下,输出将为零。

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

git branch --show-current | wc -l
Run Code Online (Sandbox Code Playgroud)

0如果头分离且1分支有效,则此命令将返回。