Pack Camo

Генератор .gitignore

Объединяйте шаблоны языков, фреймворков, редакторов и ОС в один файл .gitignore.

Всё выполняется локально — ничего не отправляется на сервер.

.gitignore

meta.patterns · meta.lines · 1 дубликат удален

# Generated for: Node, Env & secrets, macOS, Windows, VS Code### Node #### Logslogs*.lognpm-debug.log*yarn-debug.log*yarn-error.log*lerna-debug.log*.pnpm-debug.log*# Diagnostic reports (https://nodejs.org/api/report.html)report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json# Runtime datapids*.pid*.seed*.pid.lock# Coverage directory used by tools like istanbulcoverage*.lcov.nyc_output# Dependency directoriesnode_modules/jspm_packages/bower_components# TypeScript cache*.tsbuildinfo# Optional npm cache directory.npm# Optional eslint / stylelint cache.eslintcache.stylelintcache# Optional REPL history.node_repl_history# Output of 'npm pack'*.tgz# Yarn Integrity file.yarn-integrity# dotenv environment variable files.env.env.development.local.env.test.local.env.production.local.env.local# parcel-bundler cache.cache.parcel-cache# Build outputdistbuild# Gatsby files.cache/public# Serverless directories.serverless/# FuseBox cache.fusebox/# DynamoDB Local files.dynamodb/# TernJS port file.tern-port# Stores VSCode versions used for testing VSCode extensions.vscode-test# yarn v2.yarn/cache.yarn/unplugged.yarn/build-state.yml.yarn/install-state.gz.pnp.*### Env & secrets #### Environment files.env.*!.env.example!.env.sample!.env.template# Keys and certificates*.pem*.key*.p12*.pfx*.crt*.cerid_rsaid_rsa.pubid_ed25519id_ed25519.pub# Credentialscredentials.jsonsecrets.jsonsecrets.yml*.secret.npmrc.pypirc.netrcservice-account*.json### macOS #### General.DS_Store.AppleDouble.LSOverrideIcon[\r]# 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.AppleDesktopNetwork Trash FolderTemporary Items.apdisk### Windows #### Windows thumbnail cache filesThumbs.dbThumbs.db:encryptableehthumbs.dbehthumbs_vista.db# Dump file*.stackdump# Folder config file[Dd]esktop.ini# Recycle Bin used on file shares$RECYCLE.BIN/# Windows Installer files*.cab*.msi*.msix*.msm*.msp# Windows shortcuts*.lnk### VS Code ###.vscode/*!.vscode/settings.json!.vscode/tasks.json!.vscode/launch.json!.vscode/extensions.json!.vscode/*.code-snippets# Local History for Visual Studio Code.history/# Built Visual Studio Code Extensions*.vsix

Уже отслеживаемые файлы останутся в Git: выполните git rm --cached <file>, чтобы перестать отслеживать их.

Один .gitignore для всего вашего технологического стека

Этот генератор .gitignore объединяет готовые шаблоны для языков программирования, фреймворков, инструментов сборки, редакторов и операционных систем в один аккуратный файл. Выберите Node и Next.js, добавьте macOS, Windows и VS Code — и вы получите файл .gitignore с четко разделенными секциями, без дублирующихся правил и с местом для собственных строк. Шаблоны сформированы на основе официальной коллекции github/gitignore, а сборка происходит прямо в вашем браузере.

Как создать файл .gitignore

  1. 1Введите язык, фреймворк, редактор или ОС в строке поиска — python, unity, jetbrains — и нажмите на плашку для добавления. Нажатие Enter добавляет первое совпадение.
  2. 2Комбинируйте столько шаблонов, сколько нужно вашему проекту. Стандартный веб-проект обычно включает язык, фреймворк, редактор кода и операционную систему.
  3. 3Добавьте пути к специфичным для проекта файлам в разделе Пользовательские строки, например /uploads/ или *.sqlite.
  4. 4Скопируйте результат или нажмите Скачать в виде файла .gitignore и поместите его в корень вашего Git-репозитория.

Зачем нужен файл .gitignore

Файл .gitignore указывает файлы, которые Git не должен отслеживать: сторонние зависимости (node_modules/, vendor/), результаты сборки (dist/, target/), временные файлы, логи, настройки редакторов и секретные данные вроде .env. Их исключение уменьшает вес репозитория, делает diff чистым и защищает от случайной утечки учетных данных.

Файл действует исключительно на неотслеживаемые (untracked) файлы. Если файл уже был ранее закоммичен в репозиторий, добавление его в .gitignore не удалит его из истории; выполните git rm --cached <file> (или git rm -r --cached <dir>) и сделайте коммит, чтобы прекратить отслеживание, сохранив локальную копию.

Синтаксис шаблонов .gitignore

Порядок правил имеет значение: последнее совпавшее правило побеждает, поэтому исключения вроде !.vscode/settings.json размещаются после общего правила .vscode/*.

*.log
Шаблон без косой черты сопоставляется на любой глубине: игнорирует все файлы .log в репозитории.
/build
Косая черта в начале привязывает шаблон к корневой папке .gitignore, игнорируя только верхнеуровневую папку build.
dist/
Косая черта в конце соответствует исключительно каталогам, не затрагивая файл с именем dist.
**/temp
Две звездочки соответствуют любому количеству каталогов: папка temp в корне или на любой вложенности.
!.env.example
Восклицательный знак в начале отменяет исключение для файла. Не может вернуть файл, если его родительский каталог полностью исключен.
# комментарий
Строки, начинающиеся с #, считаются комментариями; пустые строки служат разделителями. Используйте обратный слэш перед # или ! для буквального соответствия.

Как объединяются шаблоны

Каждый шаблон оформляется в виде секции с заголовком ### Название ###. При включенной опции Удалять повторяющиеся шаблоны правила, уже встретившиеся в предыдущих секциях, исключаются из последующих, а опустевшие комментарии очищаются. Инвертированные правила (с восклицательным знаком) остаются на своих местах, чтобы не нарушать логику исключений.

Шаблоны для смежных инструментов часто пересекаются — Node, Next.js и Vite игнорируют node_modules и логи —, поэтому дедупликация обычно сокращает объем файла на 20% и более.

Проектный, глобальный и локальный ignore

Коммитьте файл .gitignore в репозиторий, чтобы им пользовалась вся команда, и ограничьте его файлами самого проекта. Файлы вашей операционной системы — .DS_Store, Thumbs.db, папки редактора — лучше вынести в глобальный ignore с помощью git config --global core.excludesFile ~/.gitignore_global. Для правил, нужных только вам в одном конкретном репозитории, используйте файл .git/info/exclude, который никогда не коммитится.

Lock-файлы приложений (package-lock.json, poetry.lock, Cargo.lock) обязательно должны быть закоммичены для воспроизводимости сборок. Чтобы проверить, какое именно правило игнорирует файл, выполните git check-ignore -v path/to/file.

Защита конфиденциальных данных

Шаблон Env и секреты игнорирует файлы .env, закрытые ключи и файлы учетных данных, сохраняя при этом шаблон .env.example. Игнорирование защищает только будущие коммиты: если ключ уже попал в репозиторий, немедленно перевыпустите его, так как он останется в истории Git. Полезные инструменты: калькулятор chmod для настройки прав доступа и генератор robots.txt для поисковых ботов.

Часто задаваемые вопросы

Куда нужно положить файл .gitignore?
В корневой каталог вашего репозитория, рядом с папкой .git. Вы также можете размещать файлы .gitignore в подкаталогах — их правила будут действовать относительно этой папки.
Почему Git продолжает отслеживать файл после добавления в .gitignore?
.gitignore действует только на новые неотслеживаемые файлы. Выполните команду git rm --cached <file> (или git rm -r --cached <folder>) и сделайте коммит: Git перестанет отслеживать файл, не удаляя его с вашего компьютера.
Нужно ли игнорировать package-lock.json или yarn.lock?
Нет, для приложений их нужно коммитить. Lock-файлы фиксируют точные версии зависимостей для гарантии идентичности сборок на всех машинах.
Стоит ли добавлять .vscode или .idea в .gitignore?
Обычно только личные настройки. Шаблон VS Code игнорирует .vscode/*, но сохраняет общие settings.json, tasks.json и launch.json; шаблон JetBrains игнорирует всю папку .idea целиком.
Как настроить игнорирование .DS_Store во всех проектах сразу?
Добавьте его в глобальный файл ignore: создайте файл ~/.gitignore_global со строкой .DS_Store и выполните команду git config --global core.excludesFile ~/.gitignore_global.
Как игнорировать всё содержимое папки, кроме одного файла?
Игнорируйте содержимое, а не саму папку, а затем добавьте исключение: folder/*, а следующей строкой !folder/keep.txt. Правило folder/ исключит всю папку целиком, и восстановить отдельный файл не удастся.
Откуда взяты эти шаблоны?
Они сформированы на основе официального репозитория github/gitignore под лицензией CC0 с удалением устаревших строк. Проверьте итоговый файл на соответствие структуре вашего проекта.