Popełniłem mnóstwo plików, które chcę teraz zignorować. Jak mogę powiedzieć gitowi, aby teraz ignorował te pliki z przyszłych zatwierdzeń?
EDYCJA: Chcę je również usunąć z repozytorium. Są to pliki tworzone po każdej kompilacji lub w celu wsparcia narzędzi dla użytkownika.
Odpowiedzi:
.gitignore
aby dopasować plik, który chcesz zignorowaćgit rm --cached /path/to/file
Zobacz też:
źródło
Po edycji,
.gitignore
aby dopasować zignorowane pliki, możesz zrobić,git ls-files -ci --exclude-standard
aby zobaczyć pliki, które znajdują się na listach wykluczeń; możesz wtedy zrobićusunąć je z repozytorium (bez usuwania ich z dysku).
Edycja : Możesz również dodać to jako alias w pliku .gitconfig, abyś mógł go uruchomić w dowolnym momencie. Po prostu dodaj następujący wiersz w sekcji [alias] (zmodyfikuj w razie potrzeby w systemie Windows lub Mac):
(The
-r
Flaga inxargs
zapobiegagit rm
uruchomieniu na pustym wyniku i wydrukowaniu komunikatu o jego użyciu, ale może być obsługiwana tylko przez GNU findutils. Inne wersjexargs
mogą, ale nie muszą, mieć podobną opcję.)Teraz możesz po prostu wpisać
git apply-gitignore
swoje repozytorium, a zrobi to za Ciebie!źródło
!
wcześniej git? cóż ... mój pracował jakoalias apply-gitignore="git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached"
. tks!for /F "tokens=*" %a in ('git ls-files -ci --exclude-standard') do @git rm --cached "%a"
-r
jest domyślny i nie jest akceptowany przez wersje BSD. Więc usuń-r
.pozostawić plik w repozytorium, ale zignorować przyszłe zmiany:
i cofnąć to:
aby dowiedzieć się, które pliki zostały ustawione w ten sposób:
podziękowania za oryginalną odpowiedź na http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/
źródło
git ls-files -ci --exclude-standard -z | xargs -0 git update-index --assume-unchanged
jeśli to pomaga.git rm --cached
usunie” plik z repozytorium, co nie zaspokoi potrzeby quizera. Dziękuję Ci. Bardzo to doceniam. Twoja odpowiedź bardzo mi pomaga.Upewnij się, że Twoje repozytorium jest najnowszą wersją
.gitignore
jak chceszgit rm -r --cached .
git add .
następnie popełnij jak zwykle
źródło
git reset HEAD
(Pamiętaj, aby ukryć wszelkie zmiany)Stare pytanie, ale niektórzy z nas są w
git-posh
(PowerShell). Oto rozwiązanie tego problemu:źródło
Wykonaj następujące kroki:
Dodaj ścieżkę do
gitignore
plikuUruchom to polecenie
zatwierdzaj zmiany jak zwykle.
źródło