Pokročilejší práce s gitignore


Výpis všech souborů, které git ignoruje:

git ls-files . –ignored –exclude-standard –others

Výpis nesledovaných (untracked) souborů:

git ls-files . –exclude-standard –others

Zdroj: How to check all your untracked git files in the terminal

Pravidla pro sledování mých konfiguráků a ničeho jiného:

Git z výkonostních důvodů rekurzivně neprochází všechny adresáře a neaplikuje na ně pravidla, jak by si někdo mohl představit, takže je potřeba pro každý adresář nadefinovat extra pravidla. Níže je ukázka funkčního .gitignore, který bude sledovat pouze vybrané konfigurační soubory.

#ignorování všeho
/*

#! Znamená negaci, tedy níže uvedené soubory budou sledovány v rootu projektu
!.gitignore
!env
!.env
!*.yml
!*.yaml
!*.conf
!*.bak
data/

#Chci sledovat i další soubory, takže se k nim musím pravidly prokousat

#Adresář povolit
!/common/
#nesledovat v něm žádné soubory
/common/*

#pokračujeme na cestě ke konfigurákům
!/common/config/
/common/config/*

#tady už jsou naše konfiguráky
!/common/config/core/
/common/config/core/*
!/common/config/core/env

!/common/config/db/
/common/config/db/*
!/common/config/db/env

!/common/config/exporter/
/common/config/exporter/*
!/common/config/exporter/env

!/common/config/jobservice/
/common/config/jobservice/*
!/common/config/jobservice/env