如何检测HEAD是否指向未出生的分支?

时间:2015-03-04 11:07:18

标签: git

如何检测当前HEAD是否为未出生的分支?

" git rev-parse HEAD - "输出

fatal: bad revision 'HEAD'

但是git也会为所有其他输入输出这个,例如" git rev-parse noHEAD - "。

" git branch"返回一个空输出。

我是否必须阅读.git / HEAD并检查内容是否以" ref:"并且引用不存在?

1 个答案:

答案 0 :(得分:1)

  

但是git也会为所有其他输入输出这个,例如" git rev-parse noHEAD - "。

不同之处在于,HEAD必须存在于存储库中。

如果您的HEAD不是有效的修订版,那么它必须指向尚未出生的分支。

例如:

> git checkout --orphan newbranch
> git rev-parse HEAD --
fatal: bad revision 'HEAD'

如果你签了一个分支,那么

> git checkout master
> git rev-parse HEAD --

如果HEAD不存在或已损坏,则对不起:

> git rev-parse HEAD --
fatal: Not a git repository (or any of the parent directories): .git