Cała oryginalna treść jest tworzona po ukraińsku. Nie wszystkie treści zostały jeszcze przetłumaczone. Niektóre posty mogą być dostępne tylko po ukraińsku.Dowiedz się więcej

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

Okładka posta: Co to jest .gitignore? Do czego jest potrzebny i jak go używać
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.

Ten post nie ma jeszcze żadnych dodatków od autora.

Gosu Ruby Tutorial - пройдемось по офіційній документації
3 lip 11:50

Gosu Ruby Tutorial - пройдемось по офіційній документації

meme code
meme code@memecode
Pisujemy demo-grę Drones vs Zombies (Gosu / Ruby)
12 lip 12:17

Pisujemy demo-grę Drones vs Zombies (Gosu / Ruby)

meme code
meme code@memecode
Jak naprawić awarię Windows spowodowaną przez CrowdStrike?
19 lip 13:53

Jak naprawić awarię Windows spowodowaną przez CrowdStrike?

meme code
meme code@memecode
Co oznacza .map(&:name) w Ruby?
28 lip 11:18

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

meme code
meme code@memecode
Jak działa metoda map w Ruby? Przegląd działania metody z przykładami
30 lip 07:33

Jak działa metoda map w Ruby? Przegląd działania metody z przykładami

meme code
meme code@memecode
Co oznacza kropka na początku pliku (.gitignore, .DS_Store, .bashrc itd.)?
2 sie 13:15

Co oznacza kropka na początku pliku (.gitignore, .DS_Store, .bashrc itd.)?

meme code
meme code@memecode
Jak usunąć plik .DS_Store z repozytorium Git?
2 sie 19:34

Jak usunąć plik .DS_Store z repozytorium Git?

meme code
meme code@memecode
Co to jest metoda idempotentna?
21 sie 20:57

Co to jest metoda idempotentna?

meme code
meme code@memecode
Czym jest repozytorium?
21 sie 21:25

Czym jest repozytorium?

meme code
meme code@memecode
Co to jest commit w kontekście programowania oraz SCM / Git?
21 sie 21:37

Co to jest commit w kontekście programowania oraz SCM / Git?

meme code
meme code@memecode
Co to jest SCM (Zarządzanie Kontrolą Źródła)?
21 sie 21:46

Co to jest SCM (Zarządzanie Kontrolą Źródła)?

meme code
meme code@memecode
Jaką hierarchię ma DOM (Model Obiektów Dokumentu)?
23 sie 09:22

Jaką hierarchię ma DOM (Model Obiektów Dokumentu)?

meme code
meme code@memecode