394 Stimmen

git rebase: "error: cannot stat 'file': Erlaubnis verweigert"

Ich verwende Git und habe eine kleine Übergabe gemacht, gefolgt von einer großen. Ich beschloss, Folgendes zu verwenden git rebase um die beiden Commits vor dem Pushen zusammenzufassen. (Ich habe das noch nie gemacht.)

Das habe ich getan:

git rebase -i HEAD~2

So kam ich zu meinem Editor, in dem ich die frühere Übertragung auswählte und die spätere zerdrückte. Als ich speicherte, sagte Git:

Fehler: kann nicht angeben ' Dateiname ': Erlaubnis verweigert

Konnte sich nicht bewerben sha1 für spätere Übergabe ... Anfangszeile des Textes für diese Übertragung

Jetzt:

  • Keine der beiden Übertragungen erscheint, wenn ich git log .
  • git status sagt mir, dass ich "derzeit in keiner Filiale bin".
  • Eine Datei wird als geändert und im Index aufgeführt, und zwei Dateien werden als nicht verfolgt aufgeführt. Mein erster Commit hatte nur eine Datei (glaube ich), und mein zweiter Commit hatte ein gutes Dutzend.

Was ist passiert? Wie bringe ich das in Ordnung?

18voto

romanlv Punkte 1352

Unter Windows kann es sich um einen TortoiseGIT-Prozess handeln, der diese Dateien blockiert. Öffnen Sie den Task-Manager und beenden Sie den Prozess TGitCache.exe .

14voto

imbatman Punkte 478

Ich bin gerade über diesen Thread mit Antworten gestolpert - dieser Fehler ist so ein Bogus error.# fehler: kann nicht stat 'reddit/app/views/links': Erlaubnis verweigert

Das ist alles, was ich bekomme, wenn ich versuche, zu fusionieren. Ich las einige der Antworten und kam dann zu der Erkenntnis, dass ich nur meinen Code-Editor schließen musste, der zufällig Atom ist.

Nachdem ich den Editor geschlossen hatte, führte ich erneut "git merge" aus, und bumm, es funktionierte.

Was für ein sinnloser Fehler:(

10voto

Crispy Ninja Punkte 348

Das passiert bei mir unter Windows gelegentlich

error: cannot stat 'filename': Erlaubnis verweigert

Meistens habe ich mehrere Git-Bash-Instanzen geöffnet, und eine der Git-Bash-Instanzen befindet sich in einem Verzeichnis, das in dem entfernten Zweig, von dem ich abrufe, nicht existiert.

Wenn ich alle Instanzen von git bash bis auf eine schließe, ist das Problem für mich gelöst.

10voto

rgngl Punkte 5127

Wenn die IDE, die Sie verwenden (falls Sie eine verwenden), auch im Weg gewesen sein könnte. Das ist, was mir passiert, wenn Sie QtCreator verwenden.

8voto

KennethDale1 Punkte 103

Wenn Sie webpack verwenden, schalten Sie es ab. Schalten Sie auch Ihre IDE ab. Sollte gut funktionieren, nachdem diese Dinge zu tun.

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