Android

Ignorowanie plików i katalogów w git (.gitignore)

Файл gitignore в git

Файл gitignore в git

Spisu treści:

Anonim

Często pracując nad projektem korzystającym z Git, chcesz wykluczyć określone pliki lub katalogi z wypychania do zdalnego repozytorium.

Plik.gitignore określa, które nieśledzone pliki Git powinien zignorować.

Jakie pliki należy zignorować?

Zignorowane pliki to zazwyczaj pliki specyficzne dla platformy lub pliki tworzone automatycznie z systemów kompilacji. Niektóre typowe przykłady to:

  • Pliki środowiska wykonawczego, takie jak dziennik, blokada, pamięć podręczna lub pliki tymczasowe Pliki z poufnymi informacjami, takimi jak hasła lub klucze API, Skompilowany kod, taki jak .class lub .o Katalogi zależności, takie jak /vendor lub /node_modules .Build katalogi, takie jak /public , /out lub /dist .System, takie jak .DS_Store lub Thumbs.db IDE lub pliki konfiguracyjne edytora tekstu.

.gitignore

Lokalny plik .gitignore jest zwykle umieszczany w katalogu głównym repozytorium. Można jednak utworzyć wiele plików .gitignore w różnych podkatalogach w repozytorium. Wzorce w plikach .gitignore są dopasowane względem katalogu, w którym znajduje się plik.

Wzorce zdefiniowane w plikach znajdujących się w katalogach niższego poziomu (podkatalogach) mają pierwszeństwo przed wzorami w katalogach wyższego poziomu.

Lokalne pliki .gitignore są udostępniane innym programistom i powinny zawierać wzorce przydatne dla wszystkich innych użytkowników repozytorium.

Osobiste zasady ignorowania

Wzory specyficzne dla lokalnego repozytorium i nie powinny być dystrybuowane do innych repozytoriów, powinny być ustawione w pliku .git/info/exclude .

Na przykład możesz użyć tego pliku, aby zignorować wygenerowane pliki z osobistych narzędzi projektu.

Globalny .gitignore

Git umożliwia także utworzenie globalnego pliku .gitignore , w którym można zdefiniować reguły ignorowania dla każdego repozytorium Git w systemie lokalnym.

Plik może mieć dowolną nazwę i być przechowywany w dowolnej lokalizacji. Najczęstszym miejscem przechowywania tego pliku jest katalog domowy. Musisz ręcznie utworzyć plik i skonfigurować Git, aby go używał.

Na przykład, aby ustawić ~/.gitignore_global jako globalny plik ignorujący Git, wykonaj następujące czynności:

  1. Utwórz plik:

    touch ~/.gitignore_global

    Dodaj plik do konfiguracji Git:

    git config --global core.excludesfile ~/.gitignore_global

    Otwórz plik za pomocą edytora tekstu i dodaj do niego swoje reguły.

Reguły globalne są szczególnie przydatne do ignorowania określonych plików, których nigdy nie chcesz zatwierdzać, takich jak pliki zawierające poufne informacje lub skompilowane pliki wykonywalne.

Ignorowanie wcześniej zatwierdzonych plików

Pliki w kopii roboczej mogą być śledzone lub nieśledzone.

Aby zignorować plik, który został wcześniej zatwierdzony, musisz cofnąć scenę i usunąć plik z indeksu, a następnie dodać regułę dla pliku w .gitignore :

git rm --cached filename

Opcja --cached informuje git, aby nie usuwał pliku z działającego drzewa, a jedynie, aby usunął go z indeksu.

Aby rekurencyjnie usunąć katalog, użyj opcji -r :

git rm --cached filename

Podczas rekurencyjnego usuwania plików użyj opcji -n , która wykona „próbę” i pokaże, które pliki zostaną usunięte:

git rm -r -n directory

Debugowanie pliku .gitignore

Czasami ustalenie, dlaczego dany plik jest ignorowany, może być trudne, szczególnie gdy używasz wielu plików .gitignore lub złożonych wzorców. W tym miejscu przydatna jest komenda git check-ignore z opcją -v , która mówi gitowi, aby wyświetlał szczegóły dotyczące pasującego wzorca.

Na przykład, aby sprawdzić, dlaczego plik www/yarn.lock jest ignorowany, należy uruchomić:

git check-ignore -v www/yarn.lock

Dane wyjściowe pokazują ścieżkę do pliku gitignore , numer pasującej linii i rzeczywisty wzorzec.

www/.gitignore:31:/yarn.lock www/yarn.lock

Polecenie przyjmuje również więcej niż jedną nazwę pliku jako argument, a plik nie musi istnieć w twoim drzewie roboczym.

Wyświetlanie wszystkich ignorowanych plików

Polecenie git status z opcją --ignored wyświetla listę wszystkich ignorowanych plików:

git status --ignored

Wniosek

Plik .gitignore pozwala wykluczyć pliki ze sprawdzania w repozytorium. Plik zawiera wzorce globowania opisujące, które pliki i katalogi należy zignorować.

gitignore.io to usługa online, która pozwala generować pliki.gitignore dla twojego systemu operacyjnego, języka programowania lub IDE.