Kann ich gelöschte Dateien wiederherstellen (ein `git clean -fdx` rückgängig machen)?

Lesezeit: 6 Minuten

Kann ich geloschte Dateien wiederherstellen ein git clean fdx ruckgangig
Erich

Ich habe mich an die Anleitung gehalten Github-Seiten erstellen, und habe vergessen, in mein git-Unterverzeichnis zu wechseln. Als Ergebnis habe ich einfach ein ganzes Verzeichnis von Dokumenten mit Atomwaffen zerstört git clean -fdx.
Gibt es eine Möglichkeit, diesen schrecklichen Fehler rückgängig zu machen?

  • Ich weiß es nicht genau, aber ich glaube nicht, dass es mit Git möglich ist. Ein Undelete-Dienstprogramm für Ihr Dateisystem könnte jedoch ausreichen.

    – static_rtti

    7. Juni 2011 um 15:02 Uhr

  • Interessant, Git-Community-Buch schlägt auch vor git clean -fdx ohne Warnung, dass der Betrieb so gefährlich ist. Ich frage mich, wie viele Menschen mit diesem scheinbar harmlosen Vorschlag ihre Dateien unwiderruflich zerstört haben.

    – Katpnose

    9. Februar 2016 um 5:15 Uhr


  • Überprüfen Sie unbedingt, ob Ihre IDE über einen “lokalen Verlauf” verfügt, wie dies bei Eclipse- oder IntelliJ-IDEs der Fall ist. Das kann Ihnen viel Kummer über versehentliches Ersparen ersparen git clean Anrufe. Versuchen Sie auch, die Gewohnheit des Reinigens ohne Kontrolle abzulegen. Erstellen Sie ein Powershell- oder Bash-Skript, das aufgerufen werden kann und ausgeführt wird git clean -fdxn mit einer Bestätigungsaufforderung, bevor Sie die tatsächlich ausführen unglaublich destruktiv sauber.

    – Josh Bürger

    20. März 2017 um 16:07 Uhr

1646638089 639 Kann ich geloschte Dateien wiederherstellen ein git clean fdx ruckgangig
Matte

Nein. Diese Dateien sind weg.

(Gerade unter Linux überprüft: git saubere Aufrufe unlink()und sichert vorher nichts.)

  • Wenn Sie eine erweiterte IDE wie RubyMine, Eclipse usw. verwenden, besteht die Möglichkeit, dass sie einen lokalen Verlauf gelöschter Dateien enthält und Sie diese möglicherweise wiederherstellen können.

    – Usmann

    16. Oktober 2015 um 23:52 Uhr

  • @Usman in meinem Fall git clean hatte versehentlich zurückgestellte Änderungen in gelöscht .idea versteckter Ordner und lokaler Verlauf haben mich gerettet!

    – Emkmann

    9. März 2016 um 3:47 Uhr

  • Toller Tipp von @Usman. Mit Eclipse konnte ich meine Datei mit der Option “Aus lokalem Verlauf wiederherstellen …” wiederherstellen: i.imgur.com/XWNLOk5.gifv

    – brandizzi

    10. Juni 2016 um 13:28 Uhr

  • Eigentlich ist das MÖGLICH, aber mit hacky Methode. Siehe diese Antwort: stackoverflow.com/questions/6267180/can-i-undo-a-git-clean-fdx/…

    – Nur Schatten

    28. Juni 2017 um 12:16 Uhr

  • In PyCharm können Sie sie auch wiederherstellen. Klicken Sie mit der rechten Maustaste auf den Ordner, in dem sie sich befanden, klicken Sie auf Lokaler Verlauf, suchen Sie die Löschung und klicken Sie auf Zurücksetzen.

    – Juanjo Conti

    3. Oktober 2017 um 16:16 Uhr

git clean -fdxn

Werde eine machen Probelaufund zeigen Ihnen, welche Dateien gelöscht würden, wenn Sie laufen würden

git clean -fdx

(Das hilft natürlich nur, wenn man das vorher weiß, aber fürs nächste Mal)

  • Um dies zu ergänzen, -n funktioniert mit den meisten git-Befehlen (und vielen anderen *nix-Befehlen).

    – Nick McCurdy

    9. November 2013 um 20:57 Uhr

IntelliJ/Android Studio ermöglicht Wiederherstellen von Dateien aus dem lokalen Verlauf.

  • PyCharm unterstützt dies auch! Vielen Dank für diese Antwort. Ich bin so froh, dass ich den Rest der Antworten gelesen habe, nachdem die Top 3 “Nein, tut mir leid, Sie haben Pech” waren.

    – Bryson

    22. März 2019 um 18:18 Uhr

  • JetBrains (und Sie) haben meinen Tag gerettet!

    – Ruola

    30. November 2020 um 12:37 Uhr

Nein. “git clean -fdx” löscht alle Dateien und Verzeichnisse, die Git nicht aus deinem Arbeitsverzeichnis verfolgt. Da Git diese Dateien nicht nachverfolgt, gibt es keine Backups dieser Dateien. Zumindest nicht normalerweise.

Wenn Sie vor relativ kurzer Zeit ein ‘git add’ für eine dieser Dateien durchgeführt haben (aber den Commit abgebrochen haben), besteht die Möglichkeit, dass Sie sie mit ‘git fsck –lost-found’ finden können. Einen Versuch ist es wert, aber machen Sie sich nicht zu viele Hoffnungen.

In Zukunft sollten Sie überlegen, sich lieber ein paar Mal zu oft als ein paar Mal zu selten zu engagieren. Auf diese Weise haben Sie zumindest ein lokales Backup, auch wenn Sie diese Commits am Ende nicht auf eine Remote übertragen.

Wie @kusma oben erwähnt, wenn Sie es sind Glücklich (falls Sie jemals “git add” gemacht haben), können Sie das gesamte Objekt folgendermaßen extrahieren:

git fsck | awk '{print $3}' | xargs git show | tee searchresults.log

Auf diese Weise sucht es nach allen Arten von Chunks, sammelt die gesamten Diffs und fügt sie einer Datei hinzu, aus der Sie die verlorene Datei extrahieren können. In meinem Fall hatte ich eine ganze Java-Klasse verloren.

Kann ich geloschte Dateien wiederherstellen ein git clean fdx ruckgangig
Rajesh Paul

Wenn Sie eine Jetbrains-IDE verwenden, gibt es eine Option, um den lokalen Verlauf einer Datei anzuzeigen. Falls Sie es getan haben git cleankönnen Sie die Datei neu erstellen und den lokalen Verlauf der Datei überprüfen und sie von dort aus wiederherstellen.

Arbeitete für mich für eine einzelne Datei. Für ein komplettes Verzeichnis habe ich keine Ahnung, wie das geht.

Tatsächlich Jawohl! Das ist möglich! Aber ohne Git-Befehle zu verwenden.
Alles, was wir brauchen, ist nur ein Dateiwiederherstellungstool wie z Recuva.
Geben Sie einfach den Pfad an, von dem es gelöscht wurde, und lassen Sie die Dateien wiederherstellen.

Hier sind auch einige nützliche Hinweise zur Verwendung dieser App:

  1. Ich empfehle Ihnen dringend, dieses Kontrollkästchen zu aktivieren, bevor Sie Dateien wiederherstellen (wenn die gelöschten Dateien im Wiederherstellungsfenster angezeigt werden):
    Advanced Mode->Options->Actions->Restore folder structure

    Damit werden alle Ihre Dateien wiederhergestellt, indem die Ordnerstruktur beibehalten wird, sodass es viel einfacher ist, diesen Ordner einfach per Drag & Drop auf den Pfad zu ziehen, von dem er gelöscht wurde.

  2. Installieren Sie das Wiederherstellungstool auf einem USB-Gerät ist viel besser (wegen der Warnung unten)
  3. Während Sie erwähnen, wo die Dateien wiederhergestellt werden sollen, vermeiden Wählen Sie dasselbe Laufwerk aus, von dem die Dateien gelöscht wurden (wieder wegen der unten genannten Warnung), da die wiederhergestellte Datei derzeit möglicherweise die anderen gelöschten Dateien überschreibt, die noch nicht wiederhergestellt wurden. Das Wiederherstellen von Dateien auf einem beliebigen USB-Laufwerk ist dort immer eine gute Lösung.

Warnung! Sobald Sie eine Datei verlieren (versehentlich löschen), versuchen Sie, das Laufwerk, von dem sie gelöscht wurde, nicht zu berühren (Dateien hinzuzufügen/zu bearbeiten), um die Wahrscheinlichkeit einer erfolgreichen Wiederherstellung zu erhöhen. Andernfalls könnten Sie diese Datei vollständig verlieren.


Warum es funktioniert

Wenn Sie eine Datei löschen, wird sie eigentlich nicht wirklich gelöscht. Es ist nur als “gelöscht” markiert, wenn Sie also das nächste Mal Dateien auf demselben Laufwerk hinzufügen/aktualisieren, werden diese alten Dateien mit den neuen überschrieben. Aber bis sie überschrieben sind, ist es immer noch möglich, die Dateien zu lesen (und natürlich wiederherzustellen).

  • Danke, du hast mein Leben gerettet. Ich weiß nicht, ob es die richtige Antwort ist, weil ich nicht alles wiederherstellen konnte, aber ich hatte Glück, als ich die wichtigsten Dateien bekam, die ich brauchte.

    – XzaR

    9. November 2017 um 14:27 Uhr

963970cookie-checkKann ich gelöschte Dateien wiederherstellen (ein `git clean -fdx` rückgängig machen)?

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

Privacy policy