Про .gitignore и мой шаблон файла

.gitignore используется для скрытия файлов и папок от системы контроля версий Git. Для описания использует glob формат.

Основной синтаксис

  • каждая строка - отдельный шаблон

  • пустые строки - игнорируются

  • символ шарп (#) в начале строки - строка комментария

  • символ восклицательный знак (!) в начале строки - инвертирует шаблон (исключение из исключения)

  • символ слеша (/) в начале строки - текущая папка (где лежит .gitignore)

  • символ звёздочка (*) - любое количество символов

  • символ две звёздочки (**) - все подпапки каталога

  • правило игнорирования всей директории должно оканчиваться на слэш (/), в противном случае это имя файла

  • символ обратный слэш (\) - экранирование спецсимволов

Пример .gitignore

# Игнорирует файлы .DS_Store и settings.json
.DS_Store
settings.json

# Игнорирует директорию .vscode/
.vscode/

# Не игнорирует конкретный файл в конкретной директории
!.vscode/settings.json

# Игнорирует .json файлы в корне проекта
# Например, файл .vscode/settings.json не игнорируется этим правилом, потому что находится не в корне
/*.json

# Игнорирует .json файлы из папки .vscode не включая подпапки
# Наприме, файл .vscode/project/tasks.json не игнорируется этим правилом, потому что находится в подпапке project
/.vscode/*.json

# Игнорирует .json файлы из папки .vscode и подпапок, если они есть
/.vscode/**.*.json

# Игнорирует все файлы с расширением .json во всём репозитории
*.json

# Игнорирует директорию .vscode/ но не подпапку .vscode/project/
/.vscode/
!/.vscode/project/

Репозиторий с шаблонами .gitignore

https://github.com/github/gitignore

Мой шаблон файла .gitignore

# VS Code files for those working on multiple tools
.vscode/*
*.code-workspace
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
#!!! stored credential from sqltools !!!
#!.vscode/settings.json 

# Local History for Visual Studio Code
.history/
*.app
.snapshots/*

# Built Visual Studio Code Extensions
*.vsix


# for MacOS
# General 
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

Last updated