Można użyć
$ git rm --cached ./whatever1.txt
po coś jest już pod kontrolą wersji.
W rzeczywistości, jeśli masz „whatever1.txt” pod kontrolą wersji i chcesz go usunąć z git, ale pozostawić swoje drzewo roboczą niezakłócony, a potem po prostu to zrobić:
$ 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
I to wszystko.
używać tylko
$ git rm
gdy chcemy usunąć plik zarówno z drzewa pracy I repo git.
CAVEAT: Prawdopodobny scenariusz, który można wykorzystać do usuwania plików specyficznych dla IDE z git. W tym przykładzie "whatever1" oznacza Twoje pliki IDE, które usuwasz. Jeśli pracujesz nad projektem z kilkoma osobami i przenosisz ten zestaw zmian do wspólnego repo, wtedy ich pliki "./whatever1" zostaną usunięte po pobraniu tego zestawu zmian. Łatwa rzecz do zrobienia stąd dla ludzi w miejscu docelowym jest:
$ git checkout 1215ef -- ./file-you-want-to-restore ./another-file ./another-etc
(gdzie 1215ef reprezentuje ostatni popełnić przed usunięciem)
To ma wpływ na przywrócenie tych plików, które były obecne na ich ostatni commit przed ciągnięciem.Po wykonaniu tych czynności pliki te będą bezpieczne i nie będą wyświetlane jako niezajęte b/c, które będą objęte wyłączeniem gitignore.
Powodzenia!
Co masz na myśli "idź, aby zatwierdzić moje zmiany"? Niezarejestrowane niezaindowane pliki pojawiają się tylko ze statusem "git" i takim –
Może to być głupie pytanie, ale czy kiedykolwiek popełniłeś wcześniej .perspectivev3 lub dodałeś go do indeksu przed zaktualizowaniem pliku gitignore? –