Dies ist der Befehl git-rm, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
git-rm - Dateien aus dem Arbeitsbaum und aus dem Index entfernen
ZUSAMMENFASSUNG
git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] ...
BESCHREIBUNG
Entfernen Sie Dateien aus dem Index oder aus dem Arbeitsbaum und dem Index. git rm wird nicht
eine Datei nur aus Ihrem Arbeitsverzeichnis entfernen. (Es gibt keine Option, nur eine Datei zu entfernen
aus dem Arbeitsbaum und behalte ihn dennoch im Index; verwenden /bin/rm wenn du das machen willst.)
Die zu entfernenden Dateien müssen mit der Spitze des Zweigs identisch sein und dürfen nicht aktualisiert werden
ihr Inhalt kann im Index bereitgestellt werden, obwohl dieses Standardverhalten überschrieben werden kann
mit der Option -f. Wenn --cached angegeben ist, muss der bereitgestellte Inhalt entweder mit dem Tipp übereinstimmen
des Zweigs oder der Datei auf der Festplatte, sodass die Datei nur aus dem Index entfernt werden kann.
OPTIONAL
...
Zu entfernende Dateien. Fileglobs (zB *.c) können angegeben werden, um alle passenden Dateien zu entfernen. Wenn
Wenn Sie möchten, dass Git Datei-Glob-Zeichen erweitert, müssen Sie sie möglicherweise mit einer Shell-Escape-Funktion versehen. EIN
Der führende Verzeichnisname (zB dir zum Entfernen von dir/file1 und dir/file2) kann angegeben werden an
Entfernen Sie alle Dateien im Verzeichnis und rekursiv alle Unterverzeichnisse, aber dies
erfordert die explizite Angabe der Option -r.
-f, --force
Überschreiben Sie die Aktualitätsprüfung.
-n, --Trockenlauf
Entfernen Sie keine Datei(en). Zeigen Sie stattdessen einfach, ob sie im Index vorhanden sind und
würde sonst durch den Befehl entfernt.
-r
Rekursives Entfernen zulassen, wenn ein führender Verzeichnisname angegeben wird.
--
Diese Option kann verwendet werden, um Befehlszeilenoptionen von der Liste der Dateien zu trennen.
(nützlich, wenn Dateinamen mit Befehlszeilenoptionen verwechselt werden könnten).
- zwischengespeichert
Verwenden Sie diese Option, um nur Pfade aus dem Index aufzuheben und zu entfernen. Arbeitsbaumdateien,
ob modifiziert oder nicht, wird in Ruhe gelassen.
--ignore-unmatch
Beenden Sie mit einem Nullstatus, auch wenn keine Dateien übereinstimmen.
-q, --leise
git rm gibt normalerweise eine Zeile (in Form eines rm-Befehls) für jede entfernte Datei aus.
Diese Option unterdrückt diese Ausgabe.
DISKUSSION
Die Die dem Befehl übergebene Liste kann genaue Pfadnamen, Datei-Glob-Muster oder
führenden Verzeichnisnamen. Der Befehl entfernt nur die Pfade, die Git bekannt sind. Geben
der Name einer Datei, die Sie Git nicht mitgeteilt haben, entfernt diese Datei nicht.
Dateiglobbing passt über Verzeichnisgrenzen hinweg. Für zwei Verzeichnisse d und d2 gilt also:
Es gibt einen Unterschied zwischen der Verwendung von git rm 'd*' und git rm 'd/*', da ersteres auch
Entfernen Sie das gesamte Verzeichnis d2.
ENTFERNEN DATEIEN DASS HABEN VERSCHWUNDEN AB DATEISYSTEM
Es gibt keine Option für git rm, um nur die Pfade aus dem Index zu entfernen, die
aus dem Dateisystem verschwunden. Je nach Anwendungsfall gibt es jedoch mehrere
Wege, die gemacht werden können.
Die richtigen „git verpflichten -ein"
Wenn Sie beabsichtigen, dass Ihr nächster Commit alle Änderungen der verfolgten Dateien in
den Arbeitsbaum und zeichnen Sie alle Entfernungen von Dateien auf, die aus dem Arbeitsverzeichnis entfernt wurden
Baum mit rm (im Gegensatz zu git rm), verwenden Sie git commit -a, da es automatisch bemerkt wird
und protokolliere alle Umzüge. Sie können einen ähnlichen Effekt auch erzielen, ohne sich zu verpflichten, indem Sie verwenden
git add -u.
Die richtigen „git hinzufügen -EIN"
Wenn Sie einen neuen Code-Drop für eine Lieferantenfiliale akzeptieren, möchten Sie wahrscheinlich beides aufzeichnen
Entfernen von Wegen und Hinzufügen neuer Wege sowie Änderungen bestehender Wege.
Normalerweise würden Sie zuerst alle verfolgten Dateien aus dem Arbeitsbaum entfernen, indem Sie dies verwenden
Befehl:
git ls-Dateien -z | xargs -0 rm -f
und entpacken Sie dann den neuen Code im Arbeitsbaum. Alternativ könntest du rsync die Änderungen
in den Arbeitsbaum.
Danach ist der einfachste Weg, alle Entfernungen, Ergänzungen und Änderungen im
Arbeitsbaum ist:
git füge -A hinzu
Weitere Informationen finden Sie auch in den git-add(1).
Andere Wege
Wenn Sie wirklich nur die Dateien aus dem Index entfernen möchten, die nicht mehr vorhanden sind
im Arbeitsbaum vorhanden (vielleicht weil Ihr Arbeitsbaum verschmutzt ist, so dass Sie es nicht können)
Verwenden Sie git commit -a), verwenden Sie den folgenden Befehl:
git diff --name-only --diff-filter=D -z | xargs -0 git rm - zwischengespeichert
UNTERMODULE
Nur Submodule, die ein Gitfile verwenden (was bedeutet, dass sie mit einer Git-Version 1.7.8 geklont wurden oder
neuer) werden aus dem Arbeitsbaum entfernt, da sich ihr Repository in der .git . befindet
Verzeichnis des Superprojekts. Wenn ein Submodul (oder eines der darin verschachtelten) immer noch
verwendet ein .git-Verzeichnis, git rm wird fehlschlagen - egal ob erzwungen oder nicht - um die . zu schützen
Geschichte des Submoduls. Falls vorhanden, das Submodul. Abschnitt in der gitmodule(5) Datei
wird ebenfalls entfernt und diese Datei wird bereitgestellt (es sei denn, --cached oder -n werden verwendet).
Ein Submodul gilt als aktuell, wenn der HEAD mit dem im Index erfassten übereinstimmt,
Es werden keine verfolgten Dateien geändert und keine nicht verfolgten Dateien, die nicht ignoriert werden, sind in vorhanden
der Arbeitsbaum der Untermodule. Ignorierte Dateien werden als entbehrlich erachtet und stoppen nicht den Betrieb eines Submoduls
Arbeitsbaum vor dem Entfernen.
Wenn Sie nur den lokalen Checkout eines Submoduls aus Ihrem Arbeitsbaum entfernen möchten, ohne
die Entfernung begehen, verwenden git-submodul(1) stattdessen deinit.
Beispiele:
git rm Dokumentation/\*.txt
Entfernt alle *.txt-Dateien aus dem Index, die sich im Dokumentationsverzeichnis befinden und
eines seiner Unterverzeichnisse.
Beachten Sie, dass das Sternchen * in diesem Beispiel aus der Shell zitiert wird; das lässt Git und
nicht die Shell, erweitern Sie die Pfadnamen von Dateien und Unterverzeichnissen unter dem
Dokumentation/ Verzeichnis.
git rm -f git-*.sh
Da in diesem Beispiel die Shell das Sternchen erweitern lässt (dh Sie listen die
Dateien explizit), entfernt es subdir/git-foo.sh nicht.
Verwenden Sie git-rm online mit den onworks.net-Diensten