Poprawka: Gitignore nie działa

GitHub stał się wiodącym pionierem w dziedzinie współpracy kodu 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). Z tej platformy korzystają duże firmy i firmy na całym świecie.

.gitignore

Takie platformy mają swoje cechy techniczne i problemy. Jednym ze specyficznych problemów napotykanych przez programistów było to, że .gitignore nie działał w GitHub. Platforma albo zignorował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 jest zupełnie innym scenariuszem. Jednak wymienione przez nas rozwiązania będą zawierać 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 przenoszone wcześniej w historii.
  • Nieśledzone: Są to pliki, które nie były wcześniej inscenizowane ani zatwierdzone .
  • Ignorowane: są to pliki, które sam użytkownik kazał Gitowi całkowicie zignorować.

Te ignorowane pliki mogą różnić się w zależności od scenariusza i są w większości plikami generowanymi przez komputer lub artefakty kompilacji. To jest powszechna praktyka; możesz ignorować różne inne pliki zgodnie z własnymi potrzebami. Niektóre przykłady tych plików to:

  • 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.
  • Kompiluj 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: Niektóre programy tworzą pliki w czasie wykonywania. Jeśli 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 działającego repozytorium. Zgodnie z oficjalną dokumentacją GitHub na ten temat, nie ma określonej komendy gitignore. Zamiast tego musisz ręcznie edytować plik, który chcesz zignorować. Plik .gitignore zawiera wzorce dopasowane do nazw plików w roboczym repozytorium i służą one do ustalenia, czy określony plik powinien zostać zignorowany, 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 badaniach doszliśmy do wniosku, że moduł rzeczywiście działał. Powodem, dla którego koderzy nie mogą korzystać z tej funkcji jest głównie to, że nie skonfigurowali poprawnie pliku lub istnieją pewne warunki, które nie są spełnione w kodzie źródłowym.

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

Rozwiązanie 1: Sprawdzanie pliku .gitignore

Pojawiła się ciekawa sprawa, w której zauważyliśmy, że plik .gitignore został utworzony w niewłaściwym formacie. Ten szczególny problem wystąpił, 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 we właściwym formacie .gitignore i zobaczymy, czy to rozwiąże problem.

Uwaga: Musisz usunąć rozszerzenie .txt z pliku podczas tworzenia nowego pliku za pomocą Notatnika.

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

Zapisz jako - Notatnik
  1. Teraz przed Kodowaniem wybierz ANSI . Teraz usuń rozszerzenie pliku .txt i zapisz plik o nazwie „ .gitignore ”. Wybierz właściwy katalog i zapisz.

Wybór ANSI jako typu kodowania
  1. Teraz przejdź do katalogu i sprawdź, czy utworzono poprawny plik. Teraz przetestuj go ponownie za pomocą Git i sprawdź, 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żyć odpowiedniego notatnika dla programistów. Niektóre przykłady obejmują Notepad ++ itp. W takich przypadkach nie będzie takich problemów.

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

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

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

Powinieneś spojrzeć na swoją strukturę (repozytorium) i upewnić się, że plik, który próbujesz obecnie zignorować, nie zostanie dodany do repozytorium. Jeśli tak, musisz usunąć plik z repozytorium, a po zatwierdzeniu najnowszych zmian dodaj jego nazwę do .gitignore (możesz również skopiować zawartość pliku i po usunięciu, powtórzyć go pod inną nazwą) .

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

Jeśli już dodałeś reguły do ​​.gitignore, ale pliki, które chcesz zignorować, są już dodane, możemy ponownie dodać pliki. Dodanie oznacza, że ​​usuniemy wszystko z indeksu Gita, a następnie ponownie dodamy wszystko z powrotem do Twojego repozytorium. Kiedy ponownie dodamy pliki od zera, będą pamiętać zasady dodane w .gitignore i dodawane są tylko prawidłowe pliki.

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 wycofanie sceny 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 dodanie wszystkich plików z powrotem, a ponieważ .gitignore będzie mieć reguły, tylko poprawne pliki zostaną zaktualizowane.
 git add. 
  1. Teraz zatwierdzimy wszystkie twoje pliki z powrotem do indeksu, używając poniższego kodu:
 git commit -m ".gitignore działa teraz" 

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

Ciekawe Artykuły