Eclipse/Git – Pull fehlgeschlagenen Dirty Worktree

Lesezeit: 4 Minuten

Wie der Titel schon sagt, versuche ich, aus einem Git-Repository abzurufen, das ich mit meinem Freund und mir teile, und ich kann festschreiben, er kann festschreiben, aber wenn einer von uns versucht, es abzurufen, wird zurückgegeben, dass es fehlgeschlagen ist: SCHMUTZIGER_ARBEITSBAUM

Wir sind beide extrem neu in Git und haben keine Anleitung, wie dieses Problem behoben werden kann.

  • Ich stehe vor demselben Problem, wenn ich versuche, es zu ziehen, schlägt es fehl und es wird die Meldung “DIRTY_WORKTREE login” angezeigt.

    – Entw

    12. Mai 2014 um 5:58 Uhr

  • könnten Sie die in der Nachricht erwähnten zusätzlichen Dateien löschen? (Wie ich in stackoverflow.com/a/15476133/6309 erwähne)

    – VonC

    12. Mai 2014 um 7:03 Uhr

  • Hey @VonC, ich habe die Schritte befolgt, die du im obigen Link erwähnt hast, aber es hat mir nicht geholfen.

    – Entw

    18. Mai 2014 um 17:31 Uhr

Ich konnte ein ähnliches Problem mithilfe des Git-Befehlszeilenclients beheben. Während Eclipse (egit) nur DIRTY_WORKTREE sagte, sah ich in der Befehlszeile mehrere widersprüchliche Dateien. Verwenden git merge master Von der Kommandozeile aus konnte ich die Konflikte dann problemlos in Eclipse lösen. Also für mich scheint das ein Egit-Problem zu sein.

Ein anderer Ansatz, wenn Sie keine Arbeit im Gange haben, besteht darin, zu versuchen, Ihren KOPF hart zurückzusetzen.

Mit EGit: Zurücksetzen Ihres aktuellen HEAD:

Auswählen Team -> Reset... an einem Projekt. Dadurch wird ein Dialog geöffnet, in dem Sie einen Zweig oder ein Tag auswählen können.

Setzen Sie HEAD auf Ihrem aktuellen Zweig zurück, um den Index zurückzusetzen und Arbeitsbaum bis zum letzten Commit dieses Zweigs.

Dann versuchen Sie Ihren Zug.

  • Falls jemand anderes ein ähnliches Problem hat – ich habe denselben Fehler in Eclipse erhalten – aber nicht in SourceTree. Akten waren durchgeschoben worden SourceTree, aber beim Versuch, dieselben unveränderten Dateien in Eclipse abzurufen, wurde derselbe Fehler angezeigt. Ich habe das > Team -> Zurücksetzen versucht (Danke VonC) und die Dinge haben sich wieder normalisiert!

    – JGlass

    16. Januar 2017 um 21:27 Uhr


  • In meinem Fall konnte ich meine Änderungen weder festschreiben noch Änderungen aus dem Repository abrufen. Vorsichtshalber habe ich zunächst alle Änderungen, die ich am Projekt vorgenommen habe, gesichert. Dann habe ich es getan Rechtsklick > Mannschaft > Zurücksetzen… > ausgewähltes Element in Remote-Tracking > ausgewählt Typ zurücksetzen Schwer > Zurücksetzen. Danach musste ich meine Änderungen aus dem Backup wiederherstellen und sie schließlich festschreiben.

    – Vorschub

    12. April 2021 um 14:10 Uhr

  • @predrags Interessant: Zögern Sie nicht, die Antwort zu bearbeiten und Ihre Lösung hinzuzufügen.

    – VonC

    12. April 2021 um 14:11 Uhr

  • @VonC danke auf Vorschlag, aber ich halte es nicht für eine Lösung, es war eher eine Erweiterung oder ein Sonderfall Ihrer Lösung.

    – Vorschub

    12. April 2021 um 14:25 Uhr

Ich hatte nicht festgeschriebene Änderungen. Nachdem ich sie festgeschrieben und dann zusammengeführt hatte, verschwand das Problem mit dem schmutzigen Worktree.

Löschen Sie einfach die im Projektordner vorhandene .gitignore-Datei und führen Sie sie dann zusammen. Die Zusammenführung zeigt Konflikte an, die Sie lösen und dann die Änderungen übertragen müssen.

Es scheint zu bedeuten, dass die Version, auf der Sie sich gerade befinden, Änderungen enthält, die noch nicht festgeschrieben sind. Sie müssen diese Änderungen also entweder entfernen oder festschreiben. Beachten Sie, dass es beim Commit zu Merge-Konflikten kommen kann.

Benutzer-Avatar
Pedro

Dieser Fehler tritt auf, wenn Sie lokale Änderungen an Dateien vorgenommen haben, die noch nicht festgeschrieben wurden. In Gits Sprache haben Sie nicht festgeschriebene Änderungen in Ihrem Arbeitsbaum.

Wenn Sie sich in dieser Situation befinden und versuchen zu pullen, ist git nicht sicher, was mit den lokalen Änderungen, die Sie haben, zu tun ist. Sollte es diese verwerfen und die Änderungen von der Fernbedienung ziehen? Sollte er diese begehen Vor Ziehen Sie die Änderungen von der Fernbedienung? Deshalb scheitert es.

Um dieses Problem zu vermeiden, bevor Sie Änderungen in Ihr lokales Repository ziehen, müssen Sie Ihre lokalen Änderungen entweder festschreiben, speichern oder verwerfen. Sobald Sie keine ausstehenden lokalen Änderungen in Ihrem Arbeitsbaum haben, sollten Sie in der Lage sein, ohne Fehler zu pullen.

Benutzer-Avatar
weiß

In Eclipse ging ich zur Team-Synchronisierungsansicht und klickte von dort mit der rechten Maustaste auf mein Projekt und drückte auf „Überschreiben“, um alle lokalen Änderungen zu überschreiben. Wiederholen Sie dann die Zusammenführung.

1245740cookie-checkEclipse/Git – Pull fehlgeschlagenen Dirty Worktree

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy