So entfernen Sie mehrere gelöschte Dateien im Git-Repository
Habe ich einige Dateien gelöscht und git status zeigt, wie unten beschrieben.
, Die ich begangen habe und geschoben.
GitHub zeigt immer noch die gelöschten Dateien in der repository. Wie kann ich Dateien löschen, die im GitHub-repository?
# On branch master
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: modules/welcome/language/english/kaimonokago_lang.php
# deleted: modules/welcome/language/french/kaimonokago_lang.php
# deleted: modules/welcome/language/german/kaimonokago_lang.php
# deleted: modules/welcome/language/norwegian/kaimonokago_lang.php
Wenn ich git rm
es gibt die folgenden.
usage: git rm [options] [--] <file>...
-n, --dry-run dry run
-q, --quiet do not list removed files
--cached only remove from the index
-f, --force override the up-to-date check
-r allow recursive removal
--ignore-unmatch exit with a zero status even if nothing matched
Kommentar zu dem Problem
InformationsquelleAutor der Frage shin | 2011-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
updates alle änderungen
InformationsquelleAutor der Antwort mshameers
Sehr vorsichtig sein
git rm .
; es könnte sich entfernen, mehr als Sie wollen. Natürlich können Sie sich erholen, aber es ist einfacher nicht zu haben, dies zu tun.Einfachste wäre:
Können Sie nicht verwenden, shell wildcards, weil die Dateien nicht existieren, aber man könnte (in der Bash zumindest):
Oder Bedenken:
Dieser nimmt die Ausgabe von
git status
, nicht alles drucken standardmäßig (sed -n
), aber auf den Strecken, start -# deleted:
, entledigt er sich der#
und diedeleted:
und druckt, was übrig ist;xargs
sammelt Argumente und stellt Sie zu einemgit rm
Befehl. Dies funktioniert für eine beliebige Anzahl von Dateien, unabhängig von ähnlichkeit (oder Unähnlichkeit) in den Namen.InformationsquelleAutor der Antwort Jonathan Leffler
Andere version zu ByScripts Antwort ist
Diese wird NUR entfernen Sie die gelöschten Dateien aus dem git.
Es könnte auch verwendet werden, für das hinzufügen NUR geänderte Dateien auch.
Diese Befehle funktioniert auch auf gitbash für windows.
InformationsquelleAutor der Antwort Vijay C
Update alle änderungen, die Sie gemacht:
Die gelöschten Dateien ändern sollten von unstaged (in der Regel rot) , bereitgestellt (grün).
Dann Begehen entfernen der gelöschten Dateien:
InformationsquelleAutor der Antwort Aziz Alto
Die beste Lösung, wenn Sie don ' T care über die Inszenierung geänderten Dateien ist die Verwendung
git add -u
wie sagte mshameers und/oder pb2q.Wenn Sie nur wollen, zu entfernen gelöschte Dateien, aber nicht die Bühne modifizierten, ich glaube, Sie sollten die
ls-files
argument mit der--deleted
option (keine Notwendigkeit für die Verwendung von regex oder andere komplexe Argumente/- Optionen) :InformationsquelleAutor der Antwort ByScripts
Ja,
git rm <filename>
wird die Bühne der gelöschten Zustand einer Datei, wo<filename>
könnte ein glob-Muster:Dann können Sie Begehen.
git commit -a
tun dies in einer gehen, wenn Sie wollen.Können Sie auch
git add -u
auf der Bühne alle änderungen, einschließlich aller gelöschten Dateien, dann commit.InformationsquelleAutor der Antwort Ben James
Wenn ich viele Dateien habe ich gelöscht, die unstaged für verpflichten, Sie können
git rm
Sie alle in einer show mit:Als Frage Beantworter erwähnt, vorsichtig sein mit
git rm
.InformationsquelleAutor der Antwort Justin Mandzik
Versuchen Sie dies:
InformationsquelleAutor der Antwort eludom
Können Sie
Nachdem Sie hatten, löschen Sie die Dateien manuell.
InformationsquelleAutor der Antwort onalbi
Können Sie erstellen Sie ein shell script, das wird entfernen Sie alle Ihre Dateien, wenn Sie ausgeführt wird:
Dem script, das erstellt wird, ist
remove.sh
und es enthält die vollständige Liste dergit rm
Befehle.InformationsquelleAutor der Antwort La-comadreja
InformationsquelleAutor der Antwort Boush
InformationsquelleAutor der Antwort euccas
Wenn Sie wollen löschen Sie alle von Ihnen, indem Sie mit "git rm". Dies ist, was ich Tue:
Diese Abfrage listet alle Dateien, die entfernt wurden und löscht Sie aus Ihrem git-repository.
Hoffe, es hilft.
InformationsquelleAutor der Antwort DevWL
Den eingebauten clean-Funktion kann auch hilfreich sein...
InformationsquelleAutor der Antwort Randall Borck
Hier ist zu erkennen, wie Sie gelöschte Dateien und Bühnen für Ihre Löschung als Teil des nächsten commit. Alle Lösungen auf diesem thread haben verschiedene Vorzüge. Diese Lösung Balg beschäftigt sich explizit mit dem problem der Dateinamen mit Leerzeichen in Ihnen.
stellen Sie sicher, testen Sie diese mit git die option --dry-run, bevor Sie es mit dem folgenden:
Erklärung:
Dieser druckt so etwas wie
D "/Pfad zu einem Ordner/Pfad zu einer Datei"
das passiert nur, wenn es Leerzeichen im Pfad-Namen
entsprechen nur die Zeilen, die beginnen mit " D "
entfernen " D " von der Vorderseite des jede Zeichenfolge
entfernen Sie Anführungszeichen, wenn alle
definieren Dateinamen Variablen wie {}
führen Sie den Datei-Namen unter git rm eingeschlossen in einfache Anführungszeichen, um sicherzustellen, dass es unterstützt Dateinamen mit Leerzeichen.
InformationsquelleAutor der Antwort N D
Ich hatte dieses Problem von ghost Dateien erscheinen in meiner repo, nachdem ich Sie gelöscht und bin auf dieses nette Befehl!
git add -A
Es ist im wesentlichen die gleiche wie
git add -a
undgit add -u
kombiniert, aber es ist groß-und Kleinschreibung. Ich habe es von diese genial link (dieser link verweist auf die version an archive.org nun, da das original in ein spam - /phishing-Seite ab Juni 2016)InformationsquelleAutor der Antwort NetOperator Wibby