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

参考

GitHub 加速计划 / vi / vision
15.85 K
6.89 K
下载
pytorch/vision: 一个基于 PyTorch 的计算机视觉库,提供了各种计算机视觉算法和工具,适合用于实现计算机视觉应用程序。
最近提交(Master分支:2 个月前 )
868a3b42 7 天前
e9a32135 16 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐