Git 报错bad default revision 'HEAD'
HEAD
Git报出以上错误,字面意思就是“错误的默认版本HEAD”。我们先来搞清楚HEAD
是个什么东东。git手册上是这么说的:
The HEAD file is a symbolic reference to the branch you’re currently on. By symbolic reference, we mean that unlike a normal reference, it doesn’t generally contain a SHA-1 value but rather a pointer to another reference.
HEAD文件是对当前分支的符号引用。 通过符号引用,我们的意思是,不像正常的引用,它通常不包含SHA-1值,而是指向另一个引用的指针。
简而言之,HEAD
文件指向当前分支。如果在没有创建自定义分支的情况下,HEAD
默认指向的是master
分支,此时打开HEAD
文件,可以看到:
$ cat .git/HEAD
ref: refs/heads/master
HEAD
文件此时是文件refs/heads/master
的一个链接文件,而当我们新建了一个自定义分支,比如dev
,切换到该分支并在该分支下提交了修改,此时HEAD
则指向了当前修改所在的分支dev
,打开HEAD
文件:
$ cat .git/HEAD
ref: refs/heads/dev
所以,git报错bad default revision 'HEAD'
,一般就是HEAD当前指向的分支错误了。
解决办法
修改符号链接
You can also manually edit this file, but again a safer command exists to do so:
symbolic-ref
.
你可以 手动修改 这个HEAD
文件,但是有一个更安全的命令用来做这事:symbolic-ref。比如我将
HEAD
从指向master
改为指向dev
:git symbolic-ref HEAD refs/heads/dev
- 切换分支重新提交
参考
更多推荐
所有评论(0)