Ich bin neu bei Git und habe anscheinend einen Zweig zu viele, wenn ich den folgenden Befehl ausführe:
warning: refname 'HEAD' is ambiguous.
Ich erhalte folgende Ausgabe:
warning: refname 'HEAD' is ambiguous.
From github.com:dagda1/hornget
* branch master -> FETCH_HEAD
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
Wenn ich ausführe git branch -a
Ich bekomme folgendes:
HEAD
* master
remotes/emmekappa/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Ich bin verwirrt von der remotes/origin/HEAD -> origin/master
.
Was ist das und wie kann ich den mehrdeutigen Zweig loswerden?
Ich kam zu diesem Stadium, indem ich eine Zusammenführung durchführte, bei der ich den mehrdeutigen Zweig hinzugefügt habe.
warning: refname 'HEAD' is ambiguous.
remotes/origin/HEAD -> origin/master
ist kein Problem: Es zeigt nur, welcher Zweig in Remote standardmäßig istorigin
. Der genannte ZweigHEAD
ist.Antworten:
Das Problem ist, dass Sie einen Zweig haben,
HEAD
der absolut gefährlich ist, da dies der symbolische Name für jeden Zweig ist, der der aktuelle Zweig ist.Benennen Sie es um:
Dann können Sie es untersuchen und entscheiden, was zu tun ist (löschen oder unter einem beschreibenden Filialnamen speichern).
(Der
origin/HEAD
Remote-Zweig ist kein Problem)quelle
origin/HEAD
Macht kein Problem sein, wenn Sie versehentlich einen Zweig erstellen genannt ,origin/somebranch
die ein Problem (und in der gleichen „mehrdeutig“ Fehlermeldung führen werden). Wenn Sie versuchen, von "somebranch" zu ziehen, werden Sie eher von Ihrem lokalen (versehentlichen) Zweig als von der Fernbedienung ziehen. In diesem Fall fand ich, dass der Vorschlag von flickerfly, dies zu tun,git branch -d origin/somebranch
großartig funktioniert.head
(Kleinbuchstaben) erstellt haben.Dadurch wird auch der Zweig gelöscht, wenn Sie ihn einfach nicht möchten.
Verwenden Sie ein Großbuchstaben
-D
, um das Löschen zu erzwingen:quelle
Wenn Sie ein Tag mit dem Namen
HEAD
...... Sie können dieses Tag einfach löschen mit:
Siehe diesen Fall: kerneltrap.org/git-tag HEAD
quelle
Dies bedeutet, dass Sie einen Zweig namens "head" haben. Ich hatte das gleiche Problem, das ich mit dem folgenden Befehl gelöst habe.
quelle
Überprüfen Sie die in Ihrem Git-Repository verfügbaren Referenzen. Sie werden zwei HEAD in Ihrem Repository beobachten. Dies macht Ihren Zweig mit dem Refnamen HEAD mehrdeutig.
Lösung:
Benennen Sie den Zweig um
ODER
Löschen Sie den Zweig
quelle