Файл .gitignore
Файл .gitignore — это текстовый файл, который говорит Git, какие файлы и директории нужно игнорировать при отслеживании изменений в репозитории. С помощью .gitignore можно исключить файлы, которые генерируются при сборке, содержат секретные данные или просто не нужны в проекте.
Где размещать файл
-
Корень репозитория: файл
.gitignoreобычно кладётся в корневую директорию репозитория. Это гарантирует, что правила игнорирования будут применяться ко всем файлам и директориям в проекте. -
Вложенные директории: можно создавать файлы
.gitignoreи внутри других директорий. Тогда правила будут действовать только на файлы в этой конкретной директории и её поддиректориях.
Глобальный файл игнорирования
Помимо файла .gitignore в самом проекте, Git использует глобальный файл игнорирования, который применяется ко всем репозиториям в системе. Путь к этому глобальному файлу хранится в переменной конфигурации core.excludesFile.
Узнать расположение глобального файла игнорирования:
git config --global core.excludesFileПример
# Можно добавлять комментарии для ясности. Они начинаются с символа решётки (#).
# Это комментарий!
# Игнорировать файлы с определёнными именами.
Thumbs.db
.DS_Store
# Игнорировать файлы с определёнными расширениями. Символ * (звёздочка) заменяет
# любые символы.
*.log
*.tmp
*.bak
# Игнорировать директории. Слэш в конце не обязателен, но он более явно
# указывает на то, что это именно директория.
logs
temp/
# Игнорировать файлы в любой директории с таким именем.
# Шаблон ** означает любую директорию, включая вложенные поддиректории.
**/build/
# Игнорировать файлы с определённым именем в конкретной директории.
docs/*.pdf
# Игнорировать все файлы в директории, кроме одного конкретного.
# Префикс ! инвертирует шаблон, поэтому файл не будет проигнорирован.
config/*
!config/main.conf
# Включить ранее проигнорированный файл, используя префикс !.
!important.log.gitignoregit checkoutgit configgit taggit worktree