GIT-Pull fehlgeschlagen: „Verknüpfung der Datei kann nicht aufgehoben werden: ungültiges Argument“
Lesezeit: 5 Minuten
Neuer GIT-Benutzer hier, der ein Moodle-Kurs-Website-System auf einem Windows-Server verwaltet. Der Versuch, mein erstes Pull-Update des Kerncodes (mit TortoiseGit) durchzuführen, funktioniert nicht. Git ist aufgrund eines „ungültigen Arguments“ nicht in der Lage, alte Versionen von über 200 zu aktualisierenden Dateien aufzuheben. Ich habe keine Ahnung was das heißt.
So sieht es aus, nachdem ich 210-Fehlerdialoge verworfen habe: Schildpatt
Ich habe den Server neu gestartet und das Web nach Ideen durchforstet, weiß aber nicht, was ich als nächstes versuchen soll.
Irgendwelche Ideen wären sehr hochgeschätzt!
Haben Sie dies unter stackoverflow.com/questions/4452641/… überprüft?
– Mayonnaise
26. Juli 2017 um 19:42 Uhr
Wenn sich git unter Windows darüber beschwert, dass es eine Datei nicht “entkoppeln” kann, wird dies normalerweise von einem anderen Programm verursacht, das die Sperre für die Datei hält und jeden anderen Schreibzugriff verhindert. Versuchen Sie, den Webserverdienst zu stoppen, und schließen Sie alle anderen Anwendungen, von denen Sie glauben, dass sie mit diesen Dateien zusammenhängen könnten.
– jingx
26. Juli 2017 um 19:47 Uhr
Ich habe die Server angehalten, aber das gleiche Ergebnis erhalten: Verbindung kann nicht aufgehoben werden. Ich kann mir nicht vorstellen, welches andere Programm die Dateien verwenden könnte, wenn der Webserver nicht …
– Pillenbur
27. Juli 2017 um 21:29 Uhr
Ich hatte das auch auf einem Windows-System. Neustart des Systems löste das Problem. Ich denke, es gab einen verwaisten Prozess, der die Datei gesperrt hielt, aber nicht über ausreichende Berechtigungen verfügte, um Process Explorer im Administratormodus auszuführen, um danach zu suchen.
– Jeroen Wiert Plümers
28. August 2017 um 11:07 Uhr
Aus irgendeinem Grund sperrt explorer.exe gerne CSPROJ-Dateien, nachdem NuGet-Vorgänge (z. B. Aktualisierung eines vorhandenen Pakets) abgeschlossen sind. zumindest auf meiner maschine. Vor allem, wenn ich von einem Zweig mit einer neueren Version zu einem Zweig mit einer (damals) anderen Version wechsle
– Steffen Winkler
13. September 2019 um 11:02 Uhr
Ich habe auch Stunden mit diesem Fehler verloren.
In meinem Fall habe ich diesen Fehler bekommen, weil Einige Dateien wurden von einem anderen Programm gesperrt. Ich musste alles schließen, dann konnte ich wieder ziehen.
Hoffe das hilft jemandem 🙂
Vielen Dank! Das war meine Ursache – einige Dateien wurden von mehreren ‘JDK Platform Binary’-Instanzen verwendet und konnten nicht aktualisiert werden. Die Lösung für mich bestand darin, sie alle vor dem Auschecken der Filiale manuell zu schließen
– ildar ishalin
7. Februar 2019 um 12:00 Uhr
In meinem Fall war es Eclipse, das die Datei gesperrt hat. Diese Antwort ist oft die richtige Lösung
– LuchsSven
10. Juli 2019 um 12:01 Uhr
Ich hatte Excel in einer CSV-Datei geöffnet, die ich aktualisieren wollte … Lektion gelernt!
– Neil C. Obremski
8. November 2019 um 15:53 Uhr
Außerdem kann sich das Sperrprogramm auf einem anderen PC befinden, wenn sich Ihre Dateien auf einem Netzlaufwerk befinden.
– thelr
12. Februar 2020 um 17:58 Uhr
Ich habe Tomcat-Server heruntergefahren, dann Eclipse beendet und es hat funktioniert. Vielen Dank.
– Berke
28. Juli 2020 um 12:50 Uhr
Zein Makki
Die Fehlermeldung zeigt die Dateinamen, die Git nicht trennen konnte. In Windows können Sie zu gehen Start Menu > Resource Monitor > CPU tab > Associated Handles und suchen Sie nach dem Dateinamen (nicht dem vollständigen Pfad), dann erhalten Sie ein Ergebnis des Prozesses, der diese Datei sperrt. In meinem Fall war es so explorer.exe. Also habe ich diesen Prozess beendet und git hat wieder wie erwartet funktioniert.
Ich denke, Sie können dasselbe mit anderen Betriebssystemen tun, indem Sie die Prozesse finden, die die Datei (en) sperren.
das hat bei mir funktioniert. alleine würd ich das nie herausfinden.
– Tanzeel
10. Januar 2021 um 10:22 Uhr
Das war von unschätzbarem Wert.
– CokoBWare
10. Juni 2021 um 18:19 Uhr
Dies war eine tödliche Lösung, vielen Dank. Es war mein Fall, devenv.exe blieb im Speicher hängen und enthielt viele Dateien. konnte es durch Associated Handles sehen und das Beenden des Prozesses befreite die Dateien für Bash, um den Hard-Reset zu bearbeiten, den ich versuchte.
– Fernando Jaconete
18. August um 13:32 Uhr
Kaltes Feuer
Versuchen Sie, alle anderen Tools während der Verwendung zu schließen Tortoisegit
Ich hatte auch Probleme beim Aufheben der Verknüpfung, als ich versuchte, aus Gitlab zu ziehen.
Basierend auf der Antwort von ivan866 und Nicolas Leucci habe ich zur Lösung einfach meinen SourceTree geöffnet Verwaltungsmodus was mein Problem behoben hat. Ich nehme an, SourceTree hatte nicht genügend Rechte, um die Berechtigungen korrekt zu handhaben. Auf jeden Fall einen Versuch wert!
Das Thema hängt mit zusammen Dateiberechtigungen. Kann nach Verwendung des externen Laufwerks unter Windows 7 und dann erneut unter Windows 10 angezeigt werden. Insbesondere ist es riskant, den ersten Computer, dh den zuerst verwendeten, im Ruhezustand mit geöffneten Anwendungen zu lassen – viele geöffnete Dateien können beschädigt werden, nachdem Sie das Laufwerk wieder anschließen, nachdem Sie diese Dateien auf einem anderen Computer, aber mit denselben Apps verwendet haben.
Kann mit CHKDSK /f geheilt werden, aber es ist sehr wahrscheinlich, dass durcheinandergebrachte Dateien gelöscht werden.
fintechilla
Ich startete den PC neu, in den ich die „gestörte“ Datei zog, und gleichzeitig schloss ich die IDE auf meinem anderen PC, der genau die Datei verwendete und von dem ich sie verschoben hatte. Es funktionierte
ymerdrengen
Ich habe ein Programm in InteliJ ausgeführt und es beendet, um die Datei freizugeben. Es hat danach funktioniert
Das hat bei mir auch mit Android Studio funktioniert. Dies bedeutet, dass ein Fehler auftreten kann, wenn eine andere Anwendung eine Dateisperre hält. Versuchen Sie also, solche Anwendungen zu schließen, ist eine gute Idee.
– Deschan
13. September 2021 um 9:42 Uhr
13120400cookie-checkGIT-Pull fehlgeschlagen: „Verknüpfung der Datei kann nicht aufgehoben werden: ungültiges Argument“yes
Haben Sie dies unter stackoverflow.com/questions/4452641/… überprüft?
– Mayonnaise
26. Juli 2017 um 19:42 Uhr
Wenn sich git unter Windows darüber beschwert, dass es eine Datei nicht “entkoppeln” kann, wird dies normalerweise von einem anderen Programm verursacht, das die Sperre für die Datei hält und jeden anderen Schreibzugriff verhindert. Versuchen Sie, den Webserverdienst zu stoppen, und schließen Sie alle anderen Anwendungen, von denen Sie glauben, dass sie mit diesen Dateien zusammenhängen könnten.
– jingx
26. Juli 2017 um 19:47 Uhr
Ich habe die Server angehalten, aber das gleiche Ergebnis erhalten: Verbindung kann nicht aufgehoben werden. Ich kann mir nicht vorstellen, welches andere Programm die Dateien verwenden könnte, wenn der Webserver nicht …
– Pillenbur
27. Juli 2017 um 21:29 Uhr
Ich hatte das auch auf einem Windows-System. Neustart des Systems löste das Problem. Ich denke, es gab einen verwaisten Prozess, der die Datei gesperrt hielt, aber nicht über ausreichende Berechtigungen verfügte, um Process Explorer im Administratormodus auszuführen, um danach zu suchen.
– Jeroen Wiert Plümers
28. August 2017 um 11:07 Uhr
Aus irgendeinem Grund sperrt explorer.exe gerne CSPROJ-Dateien, nachdem NuGet-Vorgänge (z. B. Aktualisierung eines vorhandenen Pakets) abgeschlossen sind. zumindest auf meiner maschine. Vor allem, wenn ich von einem Zweig mit einer neueren Version zu einem Zweig mit einer (damals) anderen Version wechsle
– Steffen Winkler
13. September 2019 um 11:02 Uhr