Ich versuche einen Git Pull zu machen und erhalte die folgende Fehlermeldung:
Das Aufheben der Verknüpfung der Datei 'lib / xxx.jar' ist fehlgeschlagen. Soll ich es nochmal versuchen (j / n)
Egal ob ich y oder n wähle, es ist nicht möglich, in einen Zustand zu gelangen, in dem ich ziehen oder drücken kann.
chmod
und / oder diechown
Datei aus.Antworten:
Das bedeutet normalerweise, dass ein Prozess immer noch diese bestimmte Datei verwendet (hat immer noch ein Handle)
(unter Windows
ProcessExplorer
ist es gut, diese Art von Prozess zu verfolgen)Versuchen Sie, Ihre anderen Programme zu schließen, und versuchen Sie es erneut
git pull
.Beachten Sie, dass Sie mit der
GIT_ASK_YESNO
Variablen eine Alternative haben .Update Januar 2019:
Dies sollte mit Git 2.21 (Q1 2019) noch behoben werden, da "
git gc
" und "git repack
" die offenen Packdateien, die sie vor dem Entfernen für nicht erforderlich befunden hatten, nicht geschlossen haben, was auf einer Plattform, die nicht in der Lage war, eine geöffnete Datei zu entfernen, nicht funktionierte.Dies wurde korrigiert.
Siehe Commit 5bdece0 (15. Dezember 2018) von Johannes Schindelin (
dscho
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 5104f8f , 18. Januar 2019)Update Januar 2016
Dies sollte in Git 2.8 (März 2016) behoben werden (siehe Git 2.19, Q3 2018 unten).
Siehe Commit d562102 , Commit dcacb1b , Commit df617b5 , Commit 0898c96 (13. Januar 2016) von Johannes Schindelin (
dscho
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 3c80940 , 26. Januar 2016)Das behebt das
git-for-widows
Problem 500 .Wenn man sich den Test ansieht, der zur Validierung dieses neuen Ansatzes verwendet wird , besteht eine mögliche Problemumgehung (da Git 2.8 noch nicht verfügbar ist) darin, künstlich zu erhöhen
gc.autoPackLimit
.In Git 2.8.4 (Juni 2016) wird das Problem 755 erwähnt, das das Problem ebenfalls lindern sollte ( Commit 2db0641 ):
Tatsächlich ist das oben erwähnte
git-for-windows
Problem 500 mit Git 2.19, Q3 2018, wirklich behoben.Siehe " Git - Verknüpfung der Datei aufheben
.idx
und.pack
fehlgeschlagen (das einzige prozesseigene Handle für diese Datei istgit.exe
) ".quelle
Dies ist eine Windows-spezifische Antwort, daher bin ich mir bewusst, dass sie für Sie nicht relevant ist. Ich füge sie nur zum Nutzen zukünftiger Sucher ein.
In meinem Fall lag es daran, dass ich Git über eine nicht erhöhte Befehlszeile ausführte. "Als Administrator ausführen" hat das Problem für mich behoben.
quelle
Für mich lag es daran, dass Visual Studio versuchte, alle geänderten Dateien vom Pull neu zu laden. Lassen Sie Visual Studio aktualisieren und dann ausführen
git gc
.quelle
Unter Windows, das GitHub für Windows verwendet, wurde beim Ausführen ein ähnlicher Fehler in der Shell angezeigt
git gc
:Ich habe es gelöst, indem ich die GitHub-GUI geschlossen habe.
quelle
Versuchen Sie, Apache oder einen anderen Webserver neu zu starten, da möglicherweise einige Ihrer Dateien gesperrt wurden.
quelle
Visual Studio und Rubymine wurden geschlossen und der Fehler wurde nicht erneut angezeigt. Einer von ihnen war der Täter.
quelle
Schließen Sie dann Ihre IDE
git pull
. Es wird klappen.quelle
Ich habe auch dieses Problem, aber ich habe herausgefunden, dass es das UltraEdit im Weg ist, da ich UE verwendet habe, um meinen Eclipse-Arbeitsbereich zu organisieren und zu bearbeiten ~~
Möglicherweise konnte Git die Verknüpfung nicht aufheben, da das UE die alte Version einer bestimmten Datei im Griff hat.
Nachdem ich UltraEdit geschlossen habe, ist das Problem nie wieder aufgetreten.
quelle
Dies wurde in meinem Fall durch SimpLESS, den LESS-Compiler, verursacht. Sie müssen es im Systray schließen.
quelle
Das Problem ist, dass Sie ein Programm haben, das diese Dateien verarbeitet. Ich habe einen Vorschlag, dass Sie den Unlocker verwenden sollten, um das Programm zu finden, das es handhabt:
Unlocker
quelle
Ich habe dies unter Windows XP erlebt, sowohl mit der Nachricht in einer Schleife als auch mit der Möglichkeit, durch Antworten gelöscht zu werden.
Das Feststecken in einer Schleife wurde durch Schließen der Git-GUI behoben. (Ich habe git merge -i in einer Bash-Shell ausgeführt.)
Die anderen Vorkommnisse sind möglicherweise auf die große Anzahl von Dateien in meinem Repository zurückzuführen. Es passierte hauptsächlich mit .cod-Dateien, die ich später von der Versionskontrolle ausschließe. (Ich habe einen Grund, sie zunächst zu verfolgen.) Ich glaube, die Ursache hängt möglicherweise mit der Rate zusammen, mit der Git Dateihandles verwendet.
Ich frage mich, ob das Problem, das durch Antworten behoben werden kann, mit Windows zusammenhängt, da zwei frühere Poster Windows erwähnt haben und niemand gesagt hat, dass sie das Problem mit anderen Betriebssystemen haben.
quelle
Ich hatte PHPStorm geöffnet, geschlossen und alles war gut.
quelle
Ich hatte das gleiche Problem und habe alle zugehörigen Programme über den Window Task Manager geschlossen. Es funktionierte jedoch immer noch nicht. Der interessante Teil ist, dass ich "Git Rebase" anstelle von "Git Pull" ausgeführt habe und es funktioniert hat!
quelle
Keine der oben genannten Antworten funktioniert bei mir nicht, aber ich führe den Befehl git gc mit der Option force aus und es hat meinen Fall gelöst.
'git gc --force'
[Windows 7, Als Administrator ausführen => Eingabeaufforderung]
quelle
Versuchen Sie, den Befehlszeileneditor im Verwaltungsmodus auszuführen, und führen Sie den Befehl aus. Es hilft und löst Probleme. :) :)
quelle
In meinem Fall hatte ich eine alte Methode zum Beschneiden von Tags, die das Problem verursachten. Ich habe es gelöst, indem ich das Original deaktiviert habe:
Fügen Sie dies dann hinzu, um gelöschte Zweige auf dem Server zu bereinigen:
quelle
Ich hatte den gleichen Fehler und habe ihn behoben, indem ich die Sonnenfinsternis geschlossen und erneut gezogen habe, während die Datei verwendet wurde.
quelle