2016-07-23 19 views
4

Der Versuch, Änderungen auf dem Server zu verwerfen, und machen es genau das gleiche wie origin/master:git reset --hard origin/master Fehler

git fetch --all 
git reset --hard origin/master 

ich dies vor ohne Probleme auf der gleichen Repo getan haben, aber diesmal ist es mit dem folgenden fehlschlägt:

fatal: Could not reset index file to revision 'origin/master' 

haben versucht, die folgenden:

  1. entfernen Index und Reset als sugges here ted:

    rm .git/index 
    git reset 
    
  2. schlug auch vor, dass einige here Prozess eine Sperre auf .git \ index haben könnte. Dieser Tötungsvorgang und dann die Ausführung von git reset könnte es beheben, aber nicht sicher, wie überprüft werden soll, ob etwas über eine Remote-Sperre verfügt. Außerdem scheint das Entfernen der Indexdatei und das Zurücksetzen denselben Effekt gehabt zu haben.

Ich habe meinen Verstand verloren. Würde mich über jede Hilfe freuen.

+1

Diese sehr eigentümlich ist. Da Sie jedoch versuchen, auf die Fernbedienung zurückzusetzen, können Sie das Repository einfach neu starten und klonen, bevor Sie Ihre Meinung verlieren. Ich hoffe jedoch, dass Sie herausfinden, warum, weil ich befürchte, dass es wieder passieren könnte. –

+0

Dinge zu überprüfen: ist 'GIT_INDEX_FILE' in der Umgebung eingestellt? Wenn ja, haben Sie die Erlaubnis, diese Datei zu erstellen/zu schreiben? Wenn nicht, finde die eigentliche Indexdatei (normalerweise '.git/index', aber auch 'add-worktree') und überprüfe, ob du die Erlaubnis hast, diese Datei zu erstellen/zu schreiben. – torek

+0

hmm, GIT_INDEX_FILE ist nicht gesetzt, Berechtigungen 644 für .git/index: \ – Caes

Antwort

1

Hatte das gleiche Problem, was ziemlich verrückt Ursache reset --hard sollte immer funktionieren, aber es scheint, dass der Arbeitsbaum hatte eine Menge Unterschiede zu meinem Ziel Zweig.

hatte ich keine Zeit, dies zu graben, butfound dies durch Zufall:

Erster Lauf git gc dann einfach reset und schließlich reset --hard, um die gewünschten Zweig

$ git gc 

$ git reset 

$ git reset --hard <target_branch> 
Verwandte Themen