Git 报错bad default revision 'HEAD'

本文详细解释了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当前指向的分支错误了。

解决办法

  1. 修改符号链接

    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
    
  2. 切换分支重新提交

参考

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seek-x2y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值