2010-11-29 19 views
43

Wie kann ich gelöschte Dateien von meinem Git Repo entfernen?Git zeigt immer noch gelöschte Dateien nach einem Commit

Ich habe einen Ordner einer JavaScript-Bibliothek gelöscht, die viele Dateien enthielt. Ich ging dann, um die Änderungen wie folgt zu begehen:

git add . 
git commit "message" 
git status 

Aber es zeigt alle diese Dateien als "gelöscht ....".

Wie kann ich sie verschwinden lassen?

+1

mögliche Duplikate von [Entfernen Sie alle gelöschten Dateien von "geändert, aber nicht aktualisiert" in Git] (http://stackoverflow.com/questions/3169787/remove-all-deleted-files-from-changed-but-not- updated-in-git) –

+0

mögliches Duplikat von [Wie stelle ich alle gelöschten Dateien in Git fest?] (http://stackoverflow.com/questions/1402776/how-do-i-commit-all-deleted-files-in- -git) – Ben

Antwort

27

.gitignore Wenn es die Dateien unter den Listen " "committed" Abschnitt, dann fahre einfach mit dem Commit fort; Die Dateien bleiben gelöscht. (. Git Spuren Löschungen zu, nicht nur Änderungen)

Wenn es die Dateien unter dem „geändert, aber nicht aktualisiert“ Abschnitt ist, dann haben Sie zwei Möglichkeiten:

  1. sie wiederherstellen, indem die Wiederherstellung die Version in der Index: git checkout path/to/folder
  2. Mark sie in Git gelöscht, dann begehen: git rm -r path/to/folder
+2

Ich sehe, und wenn ich mehrere (wahrscheinlich bis zu Dutzende) kleine Dateien in verschiedenen Ordnern verstreut gelöscht habe, muss ich die git rm für jeden tun? Gibt es eine Abkürzung? Danke –

+4

Angenommen, Sie haben keine weiteren Änderungen an der Bühne oder stört sie nicht, 'git add -u' bringt alle Löschungen gleichzeitig in Gang. – cdhowie

6

Sie müssen aufzeichnen, dass sie tatsächlich gelöscht werden sollen. Genauso wie Sie Dateiänderungen aufzeichnen.

Nur statt git add verwenden Sie git rm.

1

müssen Sie git sagen, dass es

git rm folder 
entfernt

oder wenn Sie wollen sie nicht in Repo halten Sie sie hinzufügen

99

Dies wird als auch hinzufügen löscht.

git add -u . 

prüfen, was mit begangen werden inszeniert hat:

git status 
+7

Dies ist die Antwort, nach der ich gesucht habe ... – Siddharth

+0

git status zeigt eine Datei als gelöscht an, wenn sie noch im lokalen Speicher vorhanden ist. und das Ausführen von git add fügt die Datei nicht erneut hinzu, da sie die Änderung als permanent speichert. Wie ändert man, welche Veränderung git automatisch erkannt hat? – anon58192932

+3

Dies sollte die akzeptierte Antwort sein. – Denees

8

git -u hinzuzufügen.

Wenn Sie geben git status und das Ergebnis sagt auf dem neuesten Stand, aber in rot sagt es

gelöscht: Ordner/example0.jpg
gelöscht: Ordner/example1.jpg
gelöscht: Ordner/example2.jpg

Sie müssen dieses eingeben, für sie dauerhaft entfernt werden"git add -u."dann wird der gesamte rote Text grün markiert.

**** Dont den Raum zwischen dem Buchstaben u und der Zeit vergessen

+1

perfekt beschrieben und die richtige, die ich suche – WpTricks24

0

Angenommen, Sie haben eine Datei entfernen möchten, und würde es nicht wollen, werden verpflichtet: den Befehl

verwenden :

git reset HEAD Dateiname

und tun dann ein git s tatus überprüfen, ob die Datei nicht angezeigt

entfernt wird

dann tut ein git

0

befiehlt ich finde ich habe einen unerwarteten ‚gelöscht‘ Ordner nach i ‚rm xxx‘ einiger lokalen Datei zu löschen.

Ich erstelle zuerst einen temporären Zweig und begehe den unwichtigen 'gelöschten' Ordner und lösche dann diesen temporären Zweig.

Verwandte Themen