Sie
$ git rm --cached ./whatever1.txt
verwenden können, nachdem etwas bereits unter Versionskontrolle ist.
In der Tat, wenn Sie „whatever1.txt“ unter Versionskontrolle und haben Sie es von git zu entfernen, aber Ihren Arbeits Baum ungestört lassen, dann ist dies nur tun:
$ git rm --cached ./whatever1.txt
$ echo /whatever1.txt >> ${PROJECT_ROOT}/.gitignore
$ git status # this will now show ./whatever1 as "deleted" (from git, not your working tree, and will show gitignore as modified or created)
$ git commit -a
Und das ist es.
Nur
$ git rm
verwenden, wenn Sie die Datei sowohl aus dem Arbeits Baum UND git Repo entfernen möchten.
CAVEAT: Das wahrscheinlichste Szenario, das Sie verwenden würden, ist zum Entfernen von IDE-spezifischen Dateien von Git. In diesem Beispiel steht "whatever1" für Ihre IDE-Datei (en), die Sie entfernen. Wenn Sie an einem Projekt mit mehreren Personen arbeiten und diesen Änderungssatz an einen freigegebenen Repo weitergeben, werden ihre "./whatever1" -Dateien gelöscht, wenn sie diesen Änderungssatz ziehen. Die einfache Sache von hier für die Menschen auf der Empfängerseite zu tun ist:
$ git checkout 1215ef -- ./file-you-want-to-restore ./another-file ./another-etc
(wo 1215ef die letzte vor der Löschung begehen darstellt)
Dies hat den Effekt, diese Dateien wiederherzustellen, die vorhanden waren ihre letzte Verpflichtung vor dem Ziehen.Nachdem sie dies getan haben, werden diese Dateien sicher sein und nicht als nicht committed b/c erscheinen, sie werden unter dem Ausschluss von Gitignore fallen.
Viel Glück!
Was meinst du mit „meine Änderungen zu übernehmen gehen“? Nicht ignoriert nicht hinzugefügten Dateien zeigen nur mit „git status“ und solche –
up Es kann eine dumme Frage, aber haben Sie schon einmal .perspectivev3 zuvor begangen worden sind oder es in den Index aufgenommen, bevor Sie Ihre gitignore Datei aktualisiert? –