警告: 忽略破损的参考文献/远程/原点/头

从几天前开始,每次按 tab键在 bash 中完成分支名称时,我都会看到这样的消息:

警告: 忽略破碎的参考文献/远程/原点/HEAD 警告: 忽略破碎的参考文献/远程/原点/HEAD

例如,当我有一个名为 Feature/foo 的分支并按下 tab时,我看到的是:

git checkout f


$ git checkout fwarning: ignoring broken ref refs/remotes/origin/HEAD
warning: ignoring broken ref refs/remotes/origin/HEAD
eature/
54555 次浏览

看起来您的远程 origin的默认分支不再存在了。
修复远程的默认分支:

我最近遇到了这个问题,当时我的团队中有人从远程删除了我们的旧开发分支。我运行这个命令来检查 HEAD 的状态:

$ git symbolic-ref refs/remotes/origin/HEAD
refs/remotes/origin/old_dev

此命令输出不再存在的旧开发分支的名称。

我使用以下方法修改了警告:

$ git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/new_dev

(其中“ new _ dev”是一个分支名,将其替换为您希望 HEAD 指向的分支的名称。)

这是一个比符号引用更简单的解决方案。


你可能已经排除了开始,来源/头部最初指向的分支。

1. 列出你的远程分支机构:

git branch -r

2. 如果结果没有显示:

origin/HEAD -> origin/(something)

3. 再指一次:

git remote set-head origin master

其中“主人”是您的主要(头)分支的名称。


再次运行 git branch -r现在显示 origin/HEAD -> origin/(something),警告消失。

只要运行命令-

#replace the <branch name> with your main branch - master, main, etc.
git remote set-head origin <branch name>

好好享受吧!

对我来说,问题是文件 .git\refs\remotes\origin\master损坏了,可能是因为几天前我的电脑不小心断电了。

我通过使用正确的引用替换文件内容来解决这个问题,这个引用是一个40个字符的十六进制数字,可以在文件 .git\FETCH_HEAD中找到。

在本地 master 重命名 main 之后会出现一些问题:

  • git fetch: “致命: 无法找到远程裁判/头/主人”;
  • git branch -u origin/main main: “错误: 请求的上游分支‘ source/main’不存在”;
  • git remote set-head origin main: “ error: Not a validref: refs/Remotes/source/main”;
  • git push -u origin main: “ error: 未能推送一些引用到‘ github.com:/. git’”;
  • git symbolic-ref HEAD refs/heads/main或者 git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main或者 git update-ref refs/heads/main main,
    • 然后是 git branch -r: “警告: 忽略破碎的参考文献/远程/原点/头”;

解决这个问题的办法是:

  1. git remote -v复制 git 存储库 URL
  2. git remote rm origin移开遥控器
  3. git remote add origin <REPOSITORY_URL>,重置远程网址
  4. git fetch origin
  5. git branch -u origin/main main,上游复位支路

就像已经回答过的-警告指示远程分支不再存在,例如,当远程分支被合并 + 删除到另一个分支时。

在我的情况下,我必须删除我的本地分支,因为它不再需要和修复破碎的裁判是不可能的。因此,git branch -d feature/..完成了这项工作。

我的解决方案是删除文件夹/文件:

./. git/refs/Remotes/source/{ Branch _ name }

之后,我终于能够再次使一个饭桶取回。

要修复此错误,请删除以下文件 YOURPROJECT/。然后运行 git 提取再次下载它。这能解决你的问题。