Один файл .gitignore для всього вашого стеку
Цей генератор .gitignore об'єднує готові шаблони для мов програмування, фреймворків, інструментів збірки, редакторів та операційних систем в один цілісний файл. Оберіть Node та Next.js, додайте macOS, Windows і VS Code — і ви отримаєте файл .gitignore з чітко розмежованими секціями, без повторюваних правил та з місцем для власних рядків. Шаблони адаптовані з офіційної колекції github/gitignore, а вся обробка відбувається прямо у вашому браузері.
Як згенерувати файл .gitignore
- 1Введіть назву мови, фреймворку, редактора або ОС у пошуковий рядок —
python,unity,jetbrains— і натисніть на плашку для додавання. Enter обирає перший результат. - 2Поєднуйте стільки шаблонів, скільки потрібно вашому проєкту. Типовий вебпроєкт зазвичай містить мову, фреймворк, редактор коду та операційну систему.
- 3Додайте шляхи до специфічних файлів у розділі Власні рядки, наприклад
/uploads/або*.sqlite. - 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.
Не допускайте секретів у Git
Шаблон Змінні оточення та секрети ігнорує файли .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, з вилученням застарілих правил. Перевірте згенерований результат згідно зі структурою вашого проєкту.