744 Stimmen

Git und böser "Fehler: kann vorhandene Info/Refs nicht sperren fatal"

Nach dem Klonen von einem entfernten Git-Repository (bei bettercodes) habe ich einige Änderungen vorgenommen, commited und versucht zu pushen:

git push origin master

Irrtümer mit:

Fehler: kann vorhandene Infos/Referenzen nicht sperren
fatal: git-http-push fehlgeschlagen

Dieser Fall betrifft ein bereits bestehendes Repository.

Was ich vorher gemacht habe, war:

  1. git config –global http.sslVerify false
  2. git init
  3. git remote add [url]
  4. git clone
  5. Daten ändern
  6. git commit

Bei "bettercodes" habe ich keinen Zugriff auf das Git-Protokoll.

Ich verwende Windows. Die detaillierte Fehlermeldung lautete:

C:\MyWorkStuff\Projects\Ruby\MyProject\>git push origin master
Unable to create branch path https://user:password@git.bettercodes.org/myproject/info/
error: cannot lock existing info/refs
fatal: git-http-push failed

Ich habe vorher geklont, dann den Code geändert und übertragen.

4voto

ralphtheninja Punkte 116647

更新しました。

Möglicherweise müssen Sie Ihre Datei ~/.netrc bearbeiten:

https://bugs.launchpad.net/ubuntu/+source/git-core/+bug/293553


Ursprüngliche Antwort:

Warum haben Sie ssl ausgeschaltet? Ich denke, das könnte damit zu tun haben, dass Sie nicht über https pushen können. Ich würde es wieder einschalten und erneut versuchen zu pushen:

git config –global http.sslVerify true

4voto

ttfreeman Punkte 4492

Exécuter git fetch --all vor git pull . Damit sollte das Problem gelöst sein.

4voto

Denis Punkte 145

Ich hatte ein typisches Mac-bezogenes Problem, das ich mit den anderen vorgeschlagenen Antworten nicht lösen konnte.

Das Dateisystem des Mac ist standardmäßig so eingestellt, dass die Groß- und Kleinschreibung nicht beachtet wird.

In meinem Fall hat ein Kollege offensichtlich vergessen, einen Großbuchstaben für eine Zweigstelle zu erstellen, z. B.

testBranchen/ID-1 vs. testBranch/ID-2

für das Mac-Dateisystem (ja, es kann anders konfiguriert werden) sind diese beiden Verzweigungen gleich und in diesem Fall erhalten Sie nur einen der beiden Ordner. Und für den verbleibenden Ordner erhalten Sie einen Fehler.

In meinem Fall hat das Entfernen des betreffenden Unterordners in .git/logs/ref/remotes/origin das Problem gelöst, da der betreffende Zweig bereits wieder zusammengeführt wurde.

3voto

alphaplus Punkte 314

Fall 1: Lassen Sie die Zweige vom Git-Server prüfen, ob sie dupliziert sind oder nicht.

Example: two branches below are duplicated:

    - upper_with_lower
    - UPPER_with_lower

---> Let consider removing one of them.

Fall 2: Der Zweig, den Sie verschieben, ist mit einem anderen Zweig dupliziert.

2voto

Marc Wäckerlin Punkte 532

Ich hatte die gleiche Fehlermeldung, die Ursache war eine Neuschreibung des Verlaufs (Umbenennung des Zweigs).

Das hat bei mir funktioniert:

git remote prune origin

Quelle: https://codedaily.in/git-error-cannot-lock-refs/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X