it-swarm.com.de

Git kann Ref 'HEAD' nicht sperren: Referenz kann nicht aufgelöst werden HEAD

Ich versuche, die Änderungen in meinem Repository festzuschreiben, erhalte jedoch den folgenden Fehler:

git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F C:\Users\Contronym\AppData\Local\Temp\bkdweixb.mnu
fatal: cannot lock ref 'HEAD': unable to resolve reference HEAD: Invalid argument

Completed with errors, see above.

Ich benutze Bitbucket und SourceTree.

Was ist der Grund dafür, dass dieses Commit fehlschlägt? Ich konnte die letzten 3 Commits der letzten Woche gut begehen. Dann erhalte ich plötzlich diesen Fehler.

EDIT

Ich lief git gc und das sind die Ergebnisse:

$ git gc
error: bad ref for HEAD
error: bad ref for HEAD
error: inflate: data stream error (unknown compression method)
fatal: loose object 53b65bd9b4fec7f6a7b0b3313c68199a18804327 (stored in .git/objects/53/b65bd9b4fec7f6a7b0b3313c68199a18804327) is corrupt
error: failed to run repack

Ich habe das Verzeichnis .git/objects/53/b65bd9b4fec7f6a7b0b3313c68199a18804327 geprüft, aber das existiert nicht. Es gibt zwei weitere Dateien, aber b65bd9b4fec7f6a7b0b3313c68199a18804327 existiert nicht.

13
Jake Miller

Ich hatte das gleiche Problem und die einzige Lösung, die ich fand, war so zum Kopf zu navigieren:

.git/refs/heads/branch_name 

Und ich habe die Kopfdatei gelöscht. Dann ging ich zur Konsole und benutzte den Befehl:

git reset

Dann wurden alle Dateien nicht inszeniert, fügen Sie sie hinzu und legen Sie sie anschließend fest. 

6
Vasilisfoo

Wenn Sie nichts dagegen haben Verlust Ihres Verlaufs, können Sie die .git-Datei löschen und dann

git init

Dadurch wird Ihr Repository neu initialisiert und Sie können von dort aus fortfahren

1
Chiaro

Ich hatte das gleiche Problem, das funktionierte für mich:

Schritt 1) ​​- gehe zu .git\logs\refs\heads und öffne das Dokument mit dem Namen YOUR_BRANCH , kopiere nun dieID-nummern vor dein Benutzername und E-Mail-

Schritt 2) - gehe zu .git\refs\heads und öffne das Dokument namens YOUR_BRANCH lösche die Zeile und füge dieIDin ein.

Ich hoffe es funktioniert für Sie 

1
Rafael Marques

Für mich gearbeitet, ins Terminal eingeben: (verzweige nach deinen Wünschen lul)

echo ref: refs/heads/master >.git/HEAD
1
ASCII ALIEN

Das gleiche Problem hatte ich nach dem Aufruf von git-Befehlen mit dem Root-Benutzer in der Arbeitskopie. Die Besitzer- und Besitzergruppe der verschiedenen Dateien unter .git/wurde in "root" geändert. 

Als ich zu meinem Benutzerkonto zurückkehrte, konnte git diese Dateien aufgrund fehlender Berechtigungen nicht mehr verarbeiten. 

Es funktionierte wieder, nachdem die Berechtigungen mit zurückgesetzt wurden 

Sudo chown -R [MY_USER]:[MY_GROUP] .git
0
dev-null

Wenn ich auf dieses Thema stoße, klicke ich einfach das Projekt in ein neues Dateiverzeichnis und ziehe den Ordner "Heads" unter .git\refs\heads ab. Ersetzen Sie die ursprüngliche Datei mit den Köpfen in dem Verzeichnis, in dem Sie das Problem haben. Dann löschen Sie einfach den neuen Klon, den Sie erstellt haben (da offensichtlich keine Aktualisierungen vorhanden sind, die Sie versuchen zu pushen).

0
David La Grange