← strona głównaProgramowanie (Програмування)

Co to jest .gitignore? Do czego jest potrzebny i jak go używać

Czym jest .gitignore? Do czego jest potrzebny i jak go używać? Przykłady konfiguracji.

Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.
.gitignore - to plik używany w systemie kontroli wersji Git do wskazywania plików i katalogów, które powinny być ignorowane przez Git. Oznacza to, że pliki i katalogi wymienione w .gitignore nie będą dodawane do indeksu Git, nie będą śledzone i nie będą trafiały do commitów.

Po co jest .gitignore?

Plik .gitignore pomaga uniknąć dodawania do repozytorium plików, które nie mają związku z kodem lub nie powinny być publiczne. Mogą to być:
  • Pliki konfiguracyjne środowiska deweloperskiego.
  • Pliki dziennika.
  • Pliki generowane (na przykład wyniki kompilacji).
  • Pliki tymczasowe (cache, pliki tymczasowe).
  • Dane wrażliwe (na przykład hasła lub klucze dostępu).

Przykład użycia .gitignore

Tworzenie pliku .gitignore:
W katalogu głównym twojego repozytorium stwórz plik o nazwie .gitignore.
Dodawanie plików i katalogów do .gitignore:
Do pliku .gitignore dodawaj wzory dla plików i katalogów, które powinny być ignorowane. Na przykład:
# Ignoruj wszystkie pliki .DS_Store
.DS_Store

# Ignoruj pliki dzienników
*.log

# Ignoruj wszystkie pliki w katalogu temp/
temp/

# Ignoruj pliki konfiguracyjne IDE
.idea/
*.iml
Zastosowanie .gitignore:
Po dodaniu wpisów do .gitignore upewnij się, że te pliki nie zostały jeszcze dodane do indeksu. Jeśli już zostały dodane, usuń je z indeksu za pomocą polecenia git rm --cached <filename> i zrób commit.

Jak działa .gitignore?

  • Każdy wiersz w .gitignore reprezentuje wzór dla plików, które powinny być ignorowane.
  • Wzory mogą być prostymi nazwami plików lub zawierać znaki wieloznaczne (wildcards) dla większej elastyczności.
  • Komentarze mogą być dodawane za pomocą znaku #.
  • .gitignore może być umieszczony w dowolnym katalogu repozytorium, a jego działanie będzie ograniczone do tego katalogu i podkatalogów. To przydatne, czasami wręcz bardzo wygodne.
Przy okazji, plik .gitignore nie będzie widoczny w Finderze (tylko w edytorze kodu lub w terminalu wykonując ls -a). Przeczytaj w poprzednim wpisie więcej o ukrytych plikach (z kropką na początku).
Przykład pliku .gitignore dla projektu Ruby on Rails
# Ignoruj konfigurację bundlera
/.bundle

# Ignoruj domyślną bazę danych SQLite
/db/*.sqlite3
/db/*.sqlite3-journal
/db/*.sqlite3-shm
/db/*.sqlite3-wal

# Ignoruj domyślne pliki bazy danych PostgreSQL i MySQL
/db/*.pg
/db/*.pg-journal
/db/*.mysql
/db/*.mysql-journal

# Ignoruj wszystkie pliki dzienników i pliki tymczasowe
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep

# Ignoruj przesłane pliki w środowisku deweloperskim
/storage/*
!/storage/.keep

# Ignoruj klucz tajny aplikacji
/config/master.key

# Ignoruj pliki pid, pliki tymczasowe i historię poleceń byebug
/tmp
/tmp/pids
/tmp/cache
/tmp/sockets
/.byebug_history

# Ignoruj pliki zmiennych środowiskowych dotenv
.env
.env.*

# Ignoruj node_modules
/node_modules
/yarn-error.log

# Ignoruj prekompilowane zasoby
/public/assets
/public/packs
/public/packs-test
/public/packs-dev

# Ignoruj skompilowane pliki
/public/assets
/public/packs
/public/packs-test
/public/packs-dev
/public/packs/css
/public/packs/js
/public/packs/images

# Ignoruj wyniki pokrycia generowane przez SimpleCov
/coverage/

# Ignoruj pliki wynikowe minitest i rspec
/test/tmp
/test/version_cache
/spec/tmp
/spec/fixtures/files
/spec/examples.txt

# Ignoruj cache rubocopa
/.rubocop-https*
/.rubocop_cache

# Ignoruj zrzuty ekranu Capybara
/tmp/capybara/

# Ignoruj magazyny Redis
/tmp/redis/

# Ignoruj .DS_Store
.DS_Store

# Ignoruj kopie zapasowe
/backup/

# Ignoruj przesłane pliki ActiveStorage w środowisku deweloperskim
/storage/*
!/storage/.keep
Zazwyczaj plik .gitignore jest uzupełniany dodatkowymi wpisami podczas implementacji nowej funkcjonalności projektu. Na przykład, nowa biblioteka tworzy tymczasowe pliki cache na lokalnej maszynie - więc dodajemy je (lub katalog) do listy ignorowanych. Przed commitem zobaczysz zbędne pliki i łatwo zidentyfikujesz, co dokładnie należy dodać do .gitignore.

🔥 Więcej postów

Wszystkie wpisy
Co oznacza .map(&:name) w Ruby?
Programowanie (Програмування)28 lip '24 11:18

Co oznacza .map(&:name) w Ruby?

Co oznacza .map(&:name) w Ruby? Przykłady użycia skrótu wywołania map.

Co to jest metoda idempotentna?
Programowanie (Програмування)21 sie '24 20:57

Co to jest metoda idempotentna?

Czym jest metoda idempotentna? Opis i przykłady metod idempotentnych w programowaniu.

Czym jest repozytorium?
Programowanie (Програмування)21 sie '24 21:25

Czym jest repozytorium?

Czym jest repozytorium? Do czego jest potrzebne i jak działa?