Sie müssen sie nicht "erneut herunterladen", da der gesamte Repository-Verlauf lokal vorhanden ist, wenn Sie Git verwenden.
CDhowie
Weißt du, wie man sie von Einheimischen bekommt?
Charlie Parker
Antworten:
162
Da git ein verteiltes VCS ist, enthält Ihr lokales Repository alle Informationen. Es ist kein Download erforderlich. Sie müssen nur den gewünschten Inhalt aus dem Repo extrahieren.
Wenn Sie die Löschung nicht festgeschrieben haben, überprüfen Sie einfach die Dateien aus Ihrer aktuellen Festschreibung:
git checkout HEAD <path>
Wenn Sie die Löschung festgeschrieben haben, müssen Sie die Dateien aus einer Festschreibung auschecken, die sie enthält. Vermutlich wäre es das vorherige Commit:
git checkout HEAD^ <path>
Wenn es sich jedoch um nCommits handelt, verwenden Sie es HEAD~noder gitkstarten Sie es einfach , suchen Sie den SHA1 des entsprechenden Commits und fügen Sie ihn ein.
Nur als Nebenkommentar funktioniert dies auch für ein vollständiges Verzeichnis, das nicht speziell oder spezifisch für eine einzelne Datei ist (es hat funktioniert, als ich es zumindest ausprobiert habe). Danke übrigens.
Charlie Parker
5
NB das <path>ist obligatorisch, auch wenn nur .Punkt für das aktuelle Verzeichnis. Der "Zweig" ( HEADim obigen Beispiel) ist jedoch optional. Wie bei so vielen Git-Befehlen ist weder die Ausgabe noch die Hilfe hilfreich.
Wenn Sie die git reset --hardMethode verwenden, wird der gesamte Baum auf den Ort zurückgesetzt, an dem Sie HEAD / HEAD ^ / HEAD ~ n platziert haben, und dies wird ohne Vorurteile
geschehen
Git Checkout Dateiname war die Antwort für mich :)
Ruub
Git Checkout Dateiname erstellt nur eine leere Datei
mrek
in den gewünschten Ordner gelegt und hat git checkount .wie ein Zauber funktioniert!
Hzitoun
21
Wenn Sie mehrere Dateien lokal gelöscht, aber nicht festgeschrieben haben, können Sie das Auschecken erzwingen
Wie wir aus der Ausgabe "Bereits aktuell" sehen, hat die Person, die diese Frage stellt, in letzter Zeit nichts begangen. Sollten Sie vielleicht angeben, dass git checkout -f HEAD GEFÄHRLICH ist? Da möglicherweise lokale Änderungen rückgängig gemacht werden, die nicht festgeschrieben wurden (das Wiederherstellen vorheriger Dateien ist das positive Ergebnis, das Verlieren von Änderungen an bearbeiteten Dateien das negative Ergebnis).
Lionel Trebuchon
15
Wenn Sie mehrere Dateien lokal gelöscht und die Änderungen nicht festgeschrieben haben, wechseln Sie zu Ihrem lokalen Repository-Pfad, öffnen Sie die Git-Shell und geben Sie ein.
$ git checkout HEAD .
Alle vor dem letzten Commit gelöschten Dateien werden wiederhergestellt.
Hinzufügen von "." stellt alle gelöschten Dateien im aktuellen Repository auf ihren jeweiligen Pfaden wieder her.
Weitere Informationen finden Sie in der Dokumentation .
Antworten:
Da git ein verteiltes VCS ist, enthält Ihr lokales Repository alle Informationen. Es ist kein Download erforderlich. Sie müssen nur den gewünschten Inhalt aus dem Repo extrahieren.
Wenn Sie die Löschung nicht festgeschrieben haben, überprüfen Sie einfach die Dateien aus Ihrer aktuellen Festschreibung:
Wenn Sie die Löschung festgeschrieben haben, müssen Sie die Dateien aus einer Festschreibung auschecken, die sie enthält. Vermutlich wäre es das vorherige Commit:
Wenn es sich jedoch um
n
Commits handelt, verwenden Sie esHEAD~n
odergitk
starten Sie es einfach , suchen Sie den SHA1 des entsprechenden Commits und fügen Sie ihn ein.quelle
<path>
ist obligatorisch, auch wenn nur.
Punkt für das aktuelle Verzeichnis. Der "Zweig" (HEAD
im obigen Beispiel) ist jedoch optional. Wie bei so vielen Git-Befehlen ist weder die Ausgabe noch die Hilfe hilfreich.git checkout filename
git reset --hard
könnte den Trick auch tunquelle
git reset --hard
Methode verwenden, wird der gesamte Baum auf den Ort zurückgesetzt, an dem Sie HEAD / HEAD ^ / HEAD ~ n platziert haben, und dies wird ohne Vorurteilegit checkount .
wie ein Zauber funktioniert!Wenn Sie mehrere Dateien lokal gelöscht, aber nicht festgeschrieben haben, können Sie das Auschecken erzwingen
quelle
Wenn Sie mehrere Dateien lokal gelöscht und die Änderungen nicht festgeschrieben haben, wechseln Sie zu Ihrem lokalen Repository-Pfad, öffnen Sie die Git-Shell und geben Sie ein.
Alle vor dem letzten Commit gelöschten Dateien werden wiederhergestellt.
Hinzufügen von "." stellt alle gelöschten Dateien im aktuellen Repository auf ihren jeweiligen Pfaden wieder her.
Weitere Informationen finden Sie in der Dokumentation .
quelle
Sie müssen eine frühere Version auschecken, bevor Sie die Dateien löschen. Versuchen Sie
git checkout HEAD^
, die letzte Revision auszuchecken.quelle
Außerdem füge ich die folgenden Schritte hinzu, damit das Git-Repo korrekt mit der IDE verknüpft wird:
Ich hoffe das war hilfreich !!
quelle