Czasami zdarzy się, że dodasz jakiś plik do repozytorium a dopiero później stwierdzisz, że dodasz go do .gitignore aby był ignorowany. Niestety nie jest to takie proste. Nie można go po prostu usunąć z repozytorium ponieważ przy pierwszym pull’u plik zostanie również usunięty z lokalnych klonów.

Nie wiem czy dobrze się wysłowiłem, jest trochę późno i możliwe, że piszę to przez sen 😛 Teraz na poważnie. W takiej sytuacji przychodzi nam z pomocą polecenie rm z flagą –cached. Dzięki czemu plik zostaje usunięty jedynie z indexu gita.

git rm --cached plik.txt

Jeżeli mamy w repozytorium niezliczoną ilość plików, które nie powinny się w nim znaleźć możemy skorzystać z sekwencji komend:

git rm -r --cached .
git add .
git commit -m "porządek w repozytorium"

Działa to bardzo sprawnie choć wydaje się dosyć drastycznym posunięciem. W pierwszej kolejności „wyindeksowywujemy” całą zawartość repozytorium następnie dodajemy wszystkie pliki z powrotem. Ponowne dodanie uwzględni już wszystkie dodane w międzyczasie reguły .gitignore. Zapanuje tym samym nowy porządek 🙂

Jeżeli często musisz robić porządek w repozytorium polecam utworzenie aliasu:

# fix .gitignore
fixgitignore = !git rm -r --cached . && git add . && git commit -m \"gitignore fix\"

Gdzieś podpatrzyłem 🙂 Może akurat się komuś przyda.

Author : m4rlb0r0

Aktualnie siedzę we frontendzie. Na co dzień koduję HTML5, CSS3 (SASS) i JavaScript na potrzeby PrestaShop. Gdy zajdzie potrzeba nurkuję w backend do PHP i MySQL gdzie zaczynałem swoją przygodę z zaawansowaną developerką. Ciągły rozwój :)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Profesjonalny Hosting