A następnie dodaj ścieżkę do .gitignore, aby git nie próbował zmusić Cię do dodania go później.
Grossvogel,
3
Czy spowoduje to usunięcie (plików w) katalogu, gdy pobierze on ze zdalnego?
bstpierre
Nie, kiedy ciągnie; pliki pozostaną usunięte lokalnie podczas automatycznego procesu scalania ściągania. Następnie wypychanie spowoduje usunięcie plików po stronie serwera.
Walter Mundt,
7
Co się stanie, jeśli mam trzeci pilot? Czy odpowiednie pliki zostaną usunięte w przyszłości? Pytam, ponieważ uważam, że jest to dość powszechny przypadek użycia, tj. Sprawdź niektóre pliki w repozytorium, w późniejszym terminie zdaj sobie sprawę, że różnią się one między pilotami, nie bez powodu i nigdy nie powinny być w repozytorium, chcę aby rozwiązać ten problem, zachowując wszystkie lokalne kasy dokładnie takie, jakie są, ale usuwając pliki z repozytorium.
Bobby Jack
6
W przypadku pojedynczych plików możesz to zrobićgit rm --cached path/to/file
Travis Reeder,
3
Po prostu:
Przenieś folder z działającego drzewa
git rm folder, zatwierdź zmianę
Dodaj do .gitignore(lub .git/info/excludes), zatwierdź zmianę
to nie jest dobre rozwiązanie - co jeśli masz bardzo duży katalog?
ioleo
prawdopodobnie trzeba użyćgit rm -r
theUtherSide
1
@loostro po prostu nie przenoś go na inne urządzenie blokowe. Większość systemów plików po prostu zaktualizuje i-węzeł pliku, a nie dosłownie przeniesie cały katalog
Odpowiedzi:
Spowoduje usunięcie katalogu, ale niczego nie dotknie na dysku. Działa to również w przypadku pliku, takiego jak:
Potem możesz chcieć dodać
somedir/
lubsomefile.ext
do swojego.gitignore
pliku, aby git nie próbował dodać go ponownie.źródło
git rm --cached path/to/file
Po prostu:
git rm
folder, zatwierdź zmianę.gitignore
(lub.git/info/excludes
), zatwierdź zmianęźródło
git rm -r