Seit einigen Tagen wird jedes Mal, wenn ich die tabTaste drücke , um die Zweignamen in Bash zu vervollständigen, die folgende Meldung angezeigt:
Warnung: Ignorieren defekter Ref-Refs / Fernbedienungen / Ursprung / HEAD Warnung: Ignorieren defekter Ref-Refs / Fernbedienungen / Ursprung / HEAD
Dies sehe ich beispielsweise, wenn ich einen Zweig namens feature / foo habe und drücke tab:
git checkout f
$ git checkout fwarning: ignoring broken ref refs/remotes/origin/HEAD
warning: ignoring broken ref refs/remotes/origin/HEAD
eature/
git fetch
und danngit branch -r
. Vielleicht müssen Sie etwas aufräumen. In diesem Fall kann ich einige Bereinigungsfunktionen veröffentlichen ... (z. B. umgit fetch -p
lokale Refs zu entfernen, die auf der Fernbedienung entfernt wurden).Antworten:
Ich bin kürzlich darauf gestoßen, als jemand in meinem Team unseren alten Entwicklungszweig von der Fernbedienung gelöscht hat. Ich habe diesen Befehl ausgeführt, um den Status von HEAD zu überprüfen:
Dieser Befehl gibt den Namen des alten Entwicklungszweigs aus, der nicht mehr existiert.
Ich habe die Warnungen folgendermaßen behoben:
(Wobei "new_dev" ein Zweigname ist. Ersetzen Sie ihn durch den Namen des Zweigs, auf den HEAD zeigen soll.)
quelle
master
Zweig in meinem Repo löschte .Dies ist eine einfachere Lösung als symbolic-ref.
Da Sie möglicherweise den Zweig ausgeschlossen haben, auf den ursprünglich auf origin / HEAD verwiesen wurde.
1. Listen Sie Ihre Remote-Niederlassungen mit:
2. Wenn es in den Ergebnissen nicht angezeigt wird:
3. Zeigen Sie einfach noch einmal mit:
Dabei ist "Master" der Name Ihres primären (Haupt-) Zweigs.
Das
git branch -r
erneute Laufen wird jetzt angezeigtorigin/HEAD -> origin/(something)
und die Warnung verschwindet.quelle
HEAD
zu verweisen ist? Anders ausgedrückt, wann würde manHEAD
nicht darauf hinweisenmaster
?HEAD
. Der Zweig, den Sie, Ihr Team und Ihre Mitarbeiter beim Klonen zuerst sehen müssen, und höchstwahrscheinlich der Zweig, aus dem neue Produktionsversionen stammen.develop
aber die Produktionsversionen stammen wahrscheinlich vonmaster
. Ich kann mehr recherchieren, bin mir aber nicht sicher, warum wir das habenHEAD
.quelle
master
. Sie müssen verwenden, was auch immer Ihr wichtigster Zweig ist. zBmaster
,main
,rc
was Zweig Sie erwarten , ein Entwickler zu sein , auf.In meinem Fall war das Problem die Datei
.git\refs\remotes\origin\master
, die beschädigt wurde, möglicherweise weil mein Computer vor einigen Tagen unfreiwillig vom Stromnetz getrennt wurde.Ich habe es gelöst, indem ich den Dateiinhalt durch die richtige Referenz ersetzt habe, eine Hexadezimalzahl von 40 Zeichen, die in der Datei enthalten ist
.git\FETCH_HEAD
.quelle
Der Standardzweig Ihrer Fernbedienung
origin
existiert anscheinend nicht mehr.Korrigieren Sie den Standardzweig der Fernbedienung:
quelle