Angenommen, ich habe eine Datei in meinem Git-Repository mit dem Namen foo
.
Angenommen, es wurde mit rm
(nicht git rm
) gelöscht . Dann zeigt der Git-Status:
Changes not staged for commit:
deleted: foo
Wie inszeniere ich das Löschen einzelner Dateien?
Wenn ich es versuche:
git add foo
Es sagt:
'foo' did not match any files.
Antworten:
Seit Git 2.0.0
git add
werden auch Dateilöschungen durchgeführt.Git 2.0.0 Docs - Git-Add
quelle
Verwenden Sie
git rm foo
diese Option, um die Datei zum Löschen bereitzustellen. (Dadurch wird die Datei auch aus dem Dateisystem gelöscht, wenn sie zuvor nicht gelöscht wurde. Sie kann natürlich aus git wiederhergestellt werden, da sie zuvor eingecheckt wurde.)Verwenden Sie, um die Datei zum Löschen bereitzustellen, ohne sie aus dem Dateisystem zu löschen
git rm --cached foo
quelle
--cache
Flag hinzufügen , um Dateien nur aus dem Repository zu entfernen und sie im Dateisystem unberührt zu lassen.git status | grep 'deleted:' | cut -d':' -f2 | xargs -t -I {} git add -u "{}"
. Andere Antworten scheinen zu zeigen, wie das Entfernen von Dateien korrekt durchgeführt wird (nicht jedoch, wie bereits gelöschte Dateien bereitgestellt werden). ps. Derxargs
basierte Befehl funktioniert für mich unter Ubuntu 12.04, aber wenn ich ihn manuell machegit add -u deleted_file.txt
, funktioniert er nicht. Mein Git ist 1.7.9.5git rm
eine Datei zum Löschen bereit, auch wenn sie bereits aus dem Dateisystem gelöscht wurde. Und wie der Kommentar von OP zu einer anderen Antwort zeigt, wollten sie eine bestimmte Datei bereitstellen, die bereits gelöscht wurde.git rm
stellt bereits entfernte Dateien nicht bereit. Dieser Fehler wird ausgelöst :fatal: pathspec '~.SLDASM' did not match any files
. Hier sind Bildschirme mit Beweis: i.imgur.com/cKNKGGe.png i.imgur.com/1p9JdWF.png . Der erste Screenshot zeigt deutlich, dass 2 Dateien gelöscht und nicht bereitgestellt wurden. Der zweite Screenshot zeigt, dassgit rm "~$Box.SLDASM"
dieser Fehler beim Eingeben ausgelöst wird.Auch wenn es richtig
git rm [FILE]
ist, können Sie es alternativ tungit add -u
.Laut
git-add
Dokumentation:Daraufhin wird der Index aktualisiert und die Dateien werden ordnungsgemäß bereitgestellt.
quelle
git add -A .
, alle Änderungen werden hinzugefügt. Ich wollte speziell eine gelöschte Datei bereitstellen.git add -u FolderWithDeletedFiles/
und es hat getan, was ich will, dankeSo stellen Sie alle manuell gelöschten Dateien bereit:
git rm-deleted
Führen Sie Folgendes aus, um diesem Befehl einen Alias hinzuzufügen :quelle
unknown option `deleted)
for /F %I in ('git ls-files --deleted') do git add -u %I
um alle fertig gelöschten Dateien hinzuzufügen
danke überprüfen, um sicherzugehen
du solltest gut sein zu gehen
quelle
rm <file>
, sonderngit rm <file>
git version 2.15.2 (Apple Git-101.1)
.Sie können verwenden
git rm -r --cached -- "path/to/directory"
um ein gelöschtes Verzeichnis zu inszenieren.
quelle
Sie können diesen Befehl verwenden
quelle
für diejenigen, die git 2.x + in Powershell verwenden:
quelle