Frage

etwas nicht stimmt mit einer der Dateien in meinem lokalen Git Repository geht. Wenn ich versuche, den Zweig zu ändern, heißt es:

Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)

Was könnte das bedeuten?

War es hilfreich?

Lösung

bedeuten Dies könnte, dass ein anderes Programm die Datei verwendet, die git daran hindert, „Bewegen“ der Datei in das oder aus dem Arbeitsverzeichnis, wenn Sie ändern Zweige versuchen.

Ich habe dies auf Windows Vista passieren musste, wo Eclipse das Programm die Datei „mit“. Die Datei kann nicht wirklich offen sein Eklipse in aber von einem Prozess ausgeführt von Eclipse geöffnet wurden.

In diesem Fall versuchen, die Datei in beliebigen Anwendungen zu schließen, die es benutzt haben könnte. Wenn das nicht funktioniert, verlassen Sie vollständig alle Anwendungen, die die Datei geöffnet haben.

Andere Tipps

hatte ich dieses Problem und löste es durch den Befehl: git gc Der obige Befehl Entfernen Temp und nicht mehr benötigten Dateien. (Garbage Collector).

Diese Lösung von hier für mich gearbeitet:

Dies ist eine Windows-spezifische Antwort, so dass mir bewusst bin, dass es zu nicht ... Ich bin auch es nur zum Wohl der Zukunft Sucher.

In meinem Fall war es, weil ich Git lief aus einer nicht erhöhten Befehlszeile. „Als Administrator ausführen“ regelte es für mich.

ich dieses Problem aufgetreten, während ein git pull tun.

Ich habe versucht git gc und es gelöst mein Problem.

In meinem Fall gibt es keine Prozesse, die die Datei oder das Verzeichnis zu berühren. Vielleicht passiert es, wenn der Weg sehr lang ist, weil ein Betriebssystem Einschränkung (Fenster). Versuchen Sie, die Longpath Unterstützung Flagge in der globalen git Konfiguration ermöglicht, wie unten angegeben:

git config --global core.longpaths true

oder versuchen, die ja auf Einstellung / keine Antwort Flag, wenn es für Sie nicht gegensätzlich ist

set GIT_ASK_YESNO=false

Wenn der Pfad zu lang ist, habe ich festgestellt keine erfolgreiche Lösung.

Dies könnte für jemanden nützlich sein; Wenn alle oben genannten nicht für Sie arbeiten, gehen Sie folgendermaßen vor:

  1. Schließen Sie Ihre IDE (meins war Eclipse nicht sicher, ob es zu IntelliJ und andere gilt) oder jede andere Anwendung, die git verwenden könnten.

  2. Öffnen git von der Befehlszeile (in meinem Fall hatte ich git bash) und führte git gc wie von anderen erwähnt.

Das hat die Magie für mich.

Wie ich bin mit gitkraken und Eingabeaufforderung, lief ich in das gleiche Problem. Und dann Befehl i run git gc aufgelöst es mein Problem. Also ich bin glücklich, und einige der Punkte teilen möchten, die hilfreich sein könnten.

Was git gc tun?

git gc nicht erreichbar Objekte zu entfernen, die aus dem Stand der Anrufungen von git add erstellt wurden.

Wenn git gc laufen?

doc , werden die Benutzer aufgefordert, innerhalb jeder dieser Aufgabe auf einer regelmäßigen Basis zu laufen Repository gute Festplattenspeicherverwaltung und eine gute Betriebsleistung aufrecht zu erhalten.

Wie es auto-konfigurierbar machen?

Einige git Befehle git gc automatisch ausführen kann; siehe --auto Flagge unten. Wenn Sie wissen, was Sie tun, und alles, was Sie wollen, ist dieses Verhalten deaktivieren dauerhaft ohne weitere Überlegungen, tun nur

git config --global gc.auto 0

Ich habe versucht git gc und es gelöst mein Problem.

In meinem Fall (Win8.1, TortoiseGit ausgeführt wird), es war der Prozess "TortoiseSVN Status Cache" genannt, der die Datei wurde verriegelt wird.

Das Töten es mir erlaubt „git gc“ ohne weitere Probleme zu laufen. Der obige Prozess wird durch TortoiseGit feuert, so gibt es keine Notwendigkeit, manuell neu starten.

Ich hatte diese Art von Problem auf Windows 7 und es stellte sich heraus, aufgrund einiger verwaiste git.exe Prozess sein.

Um es zu lösen, öffnen Sie den Task-Manager und töten alle git.exe Prozesse.

Da git Befehle kurzlebig sind, sollten Sie normalerweise nie git.exe im Task-Manager sehen. Wenn sie da sind, ist es in der Regel bedeutet, etwas nicht in Ordnung ist, und Sie sollten diese Prozesse töten.

Ich habe dieses Problem in Windows. Ich schloss meinen IDE (Android Studio) und ausgewählt JA in git Shell. Es hat funktioniert.

Unter Windows 8: Ich lief git gc und es sagte git gc bereits lief, lief ich git gc --force und der Garbage Collector ran.

Ich konnte dann wechseln Zweige und merge ohne Probleme, versuchen git gc --force.

Vielleicht ist der gc Prozess nicht zu stoppen anmutig für einen oder anderen Grund.

Ich hatte dieses Problem mit .tmp Dateien in /.git/objects/pack Ordnern. Ich denke, dass etwas während eines Push oder Pull gescheitert war, so dass ich diese temporären Dateien entfernt, und setzen Sie den HEAD zu meinem letzten begehen. Nicht sicher, ob dies wird empfohlen, aber es funktioniert für mich. Auch gab git count-objects -v mir eine Liste der .tmp Dateien, die nicht gehören in den Pack-Ordner haben.

oder die y / n Nachrichten im Fenster git open cmd.exe und führt zu unterdrücken:

SETX GIT_ASK_YESNO false

hier zu sehen: https://twitter.com/petercamfield/status/494805475733807104

ich konfrontiert gleiche Problem beim Tun ‚git pull‘. Ich habe versucht, manuellen Housekeeping git Befehl 'git gc' und es gelöst mein Problem.

Ich konnte dies lösen, indem Öffnen Powershell als Administrator und von dort git checkout <branch_name>

Nach verschiedenen Lösungen schließlich versucht git clean -f hat mir geholfen.

EDIT: Ich schlug das Problem wieder einige Male - Schließen Sie alle Prozesse abhängig von git scheint zu helfen (. Wie gitbash, Eclipse-IDE, etc.)

Wie bereits erwähnt, etwas anderes die Dateien hält. Die Sache ist die, dass Programm sieht nicht verdächtig für uns. Ich habe versucht, einen Git-Pull von der Konsole zu tun, während mit GitKraken geöffnet. Schließen GitKraken das Problem behoben.

Dies kann ein separates gitk Fenster laufen einige git Geschichte zu sehen.

Just nahe, dass Fenster, dieses Problem zu beheben.

Ich lief in dieser Frage laufen git Bash und Eclipse EGit zugleich. Lösung: In der Nähe von Eclipse. Auch würde nicht schaden, zu laufen git gc als @khilo erwähnt.

Nachdem keine der genannten Antworten auf Arbeit schien, laufen git fetch -p für mich die Arbeit geleistet hat.

https://git-scm.com/docs/git-fetch

Ich lief in dieses Problem in Windows, möchten Sie vielleicht die git bash als Administrator ausführen und dann den Wunsch, Befehle auszuführen, die das Problem für mich gelöst.

Nach dem Startbefehl

git rm -rf foo.bar

Ich sehe Fehler

Unlink of file 'foo.bar' failed. Should I try again? (y/n)

Da ein anderes Programm mit dieser Datei . Zum Beispiel, wenn ich Java-Web-Anwendung im Debug-Modell oder liefen Web-Anwendung auf dem Server ausgeführt wird, kann ich nicht löschen Protokolldatei. Schalten Sie Applikationsserver (oder deaktivieren Debug-Prozess), Re-try

git rm -rf foo.bar

Ich sehe Datei gelöscht wurde.

Wenn Sie eine Web-Anwendung entwickeln, ein häufiger Grund ist, den Server herunterzufahren, zu vergessen. Zum Beispiel könnte dies ein einfacher Node.js Prozess sein, oder auf Windows Ihrem II-Prozess mehr als unauffälligen Hintergrundprozess ausgeführt wird.

habe ich versucht, jede einzelne Spitze auf dieser Seite und half nichts. Ich war dabei ein git fetch und ein git reset --hard origin/development gab mir den unkink Fehler. Ich konnte nicht auf den neuesten zurückgesetzt begehen.

Was half wurde eine weitere Niederlassung überprüft und dann den vorherigen Zweig Check-out. Sehr seltsam, aber es löste das Problem.

Wenn Ihre IDE und laufen verschiedene git Befehle schließen hier aufgeführt wird nicht helfen, versuchen Sie manuell alle laufenden Java-Prozesse zu töten. Ich hatte wahrscheinlich ein Java-Prozess von Eclipse links über die irgendwie eine Konfigurationsdatei geöffnet gehalten.

Unter Windows sah diese Fehler auf einem git clone einer (ziemlich großen) Repo. Geschlossen SmartGit und pausiert meine Backup-Software (Crashplan), und nach, dass es funktionierte. Nicht sicher, welche der 2 der Trick, aber wenn entweder laufen, dies könnte es auch für Sie tun.

Ich hatte das gleiche Problem, während ein Git-Pull tun und wie oben erwähnt, war es wegen eines Programms, das die Dateien der Hand hielt und wurde nicht ein Git-Pull ermöglicht. Schließen des Programms geholfen. Üblicherweise wird die IDE (zB Eclipse), von wo aus die Dateien werden überprüft-in wird es im Hintergrund zu halten. Schließen gleich und Wieder laufen git pull das Problem für mich gelöst.

Ich hatte den gleichen Fehler und die App zu schließen, die die Datei geöffnet hatten es gelöst. Ich konnte wieder ein und drücken Sie „Y“ gehen

in meinem Fall gibt es eine Kopie oder ersetzen Fenster für diese bestimmte Datei zu öffnen und damit die unlink Fehler. i geschlossen es und es gibt keine unlink Fehler

Wenn Sie Docker verwenden und unter Windows 10 haben, können Sie den Behälter (n) zu stoppen, wo die Datei zu laufen kann. Um zu zeigen, den Status Ihrer Container, run

docker ps -a

Um sie zu stoppen, führen Sie einfach

docker stop <container name or container id>

Das ist für mich gearbeitet, als ich meine lokalen Dateien leite eine .sh Datei mit

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top