git中remotes/origin/HEAD指向的分支丢失

当用git查看分支的时候,末尾会提示一个错误信息:

$ git branch -av
......
......
error: some refs could not be read

查了下几个分支都是正在用的,一直没有找到问题所在,偶然用branch -a查看到remotes/origin/HEAD指向了一个不存在的分支:

$ git branch -a
......
  remotes/origin/HEAD -> origin/www
......

origin/www这个分支以前有用过,后来删除掉了,不知道为什么remotes/origin/HEAD会指向这个分支,一般都是指向master分支。

知道问题后,打开 .git/refs/remotes/origin/HEAD 修改www为master保存。

$ vim .git/refs/remotes/origin/HEAD 

ref: refs/remotes/origin/master

这时候再用branch -av就不会报一开始描述的错误了。

原文地址:https://www.cnblogs.com/douglasvegas/p/5855901.html