Poprawka: Gitignore nie działa



Wypróbuj Nasz Instrument Do Eliminowania Problemów

GitHub stał się wiodącym pionierem w dziedzinie współpracy nad kodem i udostępniania repozytoriów. GitHub to przede wszystkim oprogramowanie do kontroli wersji, które pozwala użytkownikom kontrolować rozproszoną kontrolę wersji i SCM (zarządzanie kodem źródłowym). Ta platforma jest używana przez duże firmy i firmy na całym świecie.



.gitignore



Platformy takie jak te mają swoje techniczne aspekty i problemy. Jednym ze specyficznych problemów, które napotkali programiści, było to, że .gitignore nie działało w GitHub. Platforma albo ignorowała .gitignore, albo działała częściowo. Warto zauważyć, że problem może być nieco inny w każdym przypadku, ponieważ każdy przypadek to zupełnie inny scenariusz. Jednak wymienione przez nas rozwiązania będą zawierały poprawki, które będą działać uniwersalnie.



Co to jest .gitignore?

Git (lub GitHub) widzi każdy plik w katalogu roboczym. Charakteryzuje każdy plik jako jeden z trzech:

  • Śledzone: Te pliki są albo zatwierdzane, albo przemieszczane wcześniej w historii.
  • Nieśledzony: Są to pliki, które nie były wcześniej przemieszczane ani zatwierdzane.
  • Ignorowane: Są to pliki, które użytkownik sam polecił Gitowi całkowicie zignorować.

Te ignorowane pliki mogą się różnić w zależności od scenariusza i są to głównie pliki generowane maszynowo lub artefakty kompilacji. To jest powszechna praktyka; możesz ignorować różne inne pliki zgodnie z własnymi potrzebami. Oto kilka przykładów takich plików:

  • Skompilowany kod: Pliki te mają zwykle rozszerzenie .class, .pyc, .ccp itp.
  • Ukryte pliki systemowe: Są to pliki, które są używane przez system do jego operacji, ale są ukryte przed zwykłym widokiem, na przykład DS_Store lub Thumbs.db itp.
  • Zbuduj katalogi wyjściowe: Są to głównie katalogi / bin, / out itp.
  • Pamięci podręczne zależności: Te pliki mogą być zawartością modułów / node lub / packages.
  • Pliki konfiguracyjne IDE: Są to pliki konfiguracyjne, które są w większości tworzone lub zarządzane przez oprogramowanie IDE.
  • Pliki generowane w czasie wykonywania: Istnieje kilka programów, które tworzą pliki w czasie wykonywania. Jeśli którykolwiek taki kod zostanie uruchomiony, niektóre pliki mogą zostać wygenerowane w czasie wykonywania w folderze roboczym i możesz je zignorować w Git.

Każdy plik, który chcesz zignorować, jest śledzony w specjalnym pliku o nazwie .gitignore, który jest najczęściej sprawdzany w katalogu głównym repozytorium roboczego. Zgodnie z oficjalną dokumentacją GitHub na ten temat nie ma konkretnego polecenia gitignore. Zamiast tego musisz ręcznie edytować plik, który chcesz zignorować. Plik .gitignore zawiera wzorce, które są porównywane z nazwami plików w twoim repozytorium roboczym i są one używane do określenia, czy określony plik powinien być ignorowany, czy nie.



Co powoduje, że .gitignore nie działa?

Funkcja .gitignore może działać idealnie, ale być może nie została poprawnie skonfigurowana. We wszystkich naszych ankietach doszliśmy do wniosku, że moduł rzeczywiście działa. Powodem, dla którego programiści nie mogą używać tej funkcji, jest głównie to, że nie skonfigurowali poprawnie pliku lub istnieją pewne warunki, które nie są spełnione w podstawowym kodzie.

Oto kilka rozwiązań, które mogą Ci się przydać. Każde rozwiązanie może nie mieć zastosowania w Twoim przypadku, więc upewnij się, że przełączasz się na następne, jeśli początkowe warunki nie są spełnione.

Rozwiązanie 1: sprawdzanie pliku .gitignore

Pojawił się ciekawy przypadek, w którym zobaczyliśmy, że plik .gitignore został utworzony w złym formacie. Ten szczególny problem występował, gdy użytkownicy utworzyli plik przy użyciu domyślnej aplikacji Notatnika w systemie operacyjnym Windows. Okazuje się, że Notatnik zapisuje plik w formacie Unicode zamiast ANSI. W tym rozwiązaniu zapiszemy zmiany Notatnika w odpowiednim formacie .gitignore i sprawdzimy, czy to rozwiąże problem.

Uwaga: Podczas tworzenia nowego pliku za pomocą Notatnika musisz usunąć rozszerzenie .txt z pliku.

  1. Po wpisaniu kodu lub zmian w nowym dokumencie tekstowym w Notatniku kliknij Plik i wybierz Zapisz jako .

Zapisz jako - Notatnik

  1. Teraz przed Kodowanie , Wybierz ANSI . Teraz usuń rozszerzenie pliku .txt i zapisz plik pod nazwą „ .gitignore ”. Wybierz właściwy katalog i zapisz.

Wybór ANSI jako typu kodowania

  1. Teraz przejdź do katalogu i sprawdź, czy został utworzony poprawny plik. Teraz przetestuj go ponownie za pomocą Git i zobacz, czy funkcja Ignoruj ​​działa zgodnie z oczekiwaniami.

Programiści powinni powstrzymać się od używania domyślnego Notatnika w systemie Windows. Zamiast tego powinieneś używać odpowiedniego notatnika „programisty”. Oto kilka przykładów Notepad ++ itp. W tych przypadkach nie będziesz mieć takich problemów.

Uwaga: Jeśli plik jest już zapisany w formacie UNICODE, powinieneś poprawnie zapisać jego zawartość w formacie ANSI, jeśli chcesz, aby plik został poprawnie wykryty przez Git.

Rozwiązanie 2: Sprawdzanie pliku, który próbujesz zignorować

Innym warunkiem, pod którym działa .gitignore, jest to, że plik nie powinien być część repozytorium jeszcze . Jest to bardzo istotny aspekt, ponieważ jeśli to prawda, plik nie zostanie zignorowany w obecnej postaci już dodane do repozytorium. Git nie może tego zignorować, nawet jeśli umieścisz jego nazwę lub regułę w pliku .gitignore. Zasadniczo więc Git tylko ignoruje nieśledzone pliki .

Powinieneś spojrzeć na swoją strukturę (repozytorium) i upewnić się, że plik, który aktualnie próbujesz zignorować, nie został dodany do repozytorium. Jeśli tak, należałoby usunąć plik z repozytorium i po wprowadzeniu ostatnich zmian dodać jego nazwę do .gitignore (możesz też skopiować zawartość pliku i po usunięciu go powielić pod inną nazwą) .

Rozwiązanie 3: Ponowne dodanie plików do repozytorium

Jeśli dodałeś już reguły do ​​.gitignore, ale pliki, które chcesz zignorować, są już dodane, możemy je ponownie dodać. Dodanie oznacza, że ​​usuniemy wszystko z indeksu Git, a następnie ponownie dodamy wszystko do repozytorium. Kiedy dodamy pliki ponownie od zera, zostaną wzięte pod uwagę reguły, które dodałeś w .gitignore i tylko poprawne pliki zostaną dodane.

Uwaga: Przed wykonaniem tego rozwiązania należy również wykonać kopię zapasową kodu w innym miejscu. Zawsze dobrze jest mieć kopię zapasową na wszelki wypadek.

  1. Wykonaj następujące polecenie. Spowoduje to odświeżenie i usunięcie ścieżek do plików z indeksu git w sposób rekurencyjny.
git rm -r --cached.
  1. Po wykonaniu tego należy wykonać następujące polecenie. Spowoduje to przywrócenie wszystkich plików, a ponieważ .gitignore będzie mieć reguły, zaktualizowane zostaną tylko poprawne pliki.
git add.
  1. Teraz zatwierdzimy wszystkie twoje pliki z powrotem do indeksu przy użyciu poniższego kodu:
git commit -m '.gitignore is now work'

Teraz sprawdź swoje pliki i zobacz, czy problem został rozwiązany i możesz ponownie użyć .gitignore bez żadnych problemów.

4 minuty czytania