github/gitignore · Laravel.gitignore
Разбор шаблона .gitignore для Laravel
Почему Laravel.gitignore игнорирует vendor, node_modules, .env, символическую ссылку public/storage, сборку Vite, ключи Passport и auth.json.
Laravel.gitignore предназначен для приложений Laravel, где зависимости устанавливаются через Composer и npm. К правилам, похожим на стандартный .gitignore проекта Laravel, добавлены файлы окружений разработки вроде Homestead и Vagrant.
Важнее всего .env. Laravel читает из .env пароль БД, APP_KEY, API-ключи почты и платежей, поэтому если этот файл закоммитить, все секреты приложения окажутся раскрыты.
Разбор правил
| Шаблон | Что и почему игнорируется |
|---|---|
/vendor/node_modules/ | ЗависимостиПапки, которые пересоздаются командами composer install и npm install. composer.lock и package-lock.json коммитят, чтобы у всех устанавливались одинаковые версии. |
.env.env.backup.env.production | Файлы окруженияСекреты приложения и настройки для конкретного окружения. Список переменных передают через .env.example, и этот шаблон его не игнорирует. |
public/storagepublic_html/storagestorage/*.key | Ссылка на хранилище и ключиСимволическая ссылка, которую создаёт php artisan storage:link, и закрытый OAuth-ключ Passport (oauth-private.key). Ссылку заново создают на каждом сервере, а ключ секретный. |
/public/buildpublic/hotpublic_html/hotnpm-debug.logyarn-error.log | Сборка фронтендаРезультаты сборки Vite и файл hot, сообщающий, что запущен сервер разработки. Если закоммитить hot, рабочий сервер попытается загрузить ассеты с несуществующего сервера разработки. |
.phpunit.result.cache/.phpunit.cache | Кэш тестовКэш, в котором PHPUnit запоминает, например, порядок упавших тестов. |
Homestead.yamlHomestead.json/.vagrant.phpactor.json/storage/pail | Окружение разработки и инструментыЛичные настройки Homestead, состояние Vagrant, настройки Phpactor и файлы логов Laravel Pail. |
auth.json | Аутентификация ComposerФайл аутентификации Composer, где хранятся токены и пароли для закрытых репозиториев пакетов. |
bootstrap/compiled.phpapp/storage/ | Устаревшие путиСкомпилированные файлы и пути хранилища времён Laravel 4. В современных версиях они не появляются. |
На что обратить внимание на практике
- В
.env.exampleвместо настоящих значений ставьте заполнители и коммитьте его. - В папках
app,frameworkиlogsподstorage/есть вложенные .gitignore, которые Laravel кладёт по умолчанию, — не удаляйте их. - Если
.envостался в истории, сменитеAPP_KEYкомандойphp artisan key:generateи замените также пароли БД и API.
Исходный шаблон
Laravel.gitignore
/vendor/node_modules/npm-debug.logyarn-error.log# Laravel 4 specificbootstrap/compiled.phpapp/storage/# Laravel 5 & Lumen specificpublic/storagepublic/hot# Laravel 5 & Lumen specific with changed public pathpublic_html/storagepublic_html/hotstorage/*.key.envHomestead.yamlHomestead.json/.vagrant.phpunit.result.cache/.phpunit.cache/public/build/storage/pail.env.backup.env.production.phpactor.jsonauth.json
Источник шаблонов: github/gitignore/Laravel.gitignore @356fd7b (2026-09-11) · CC0-1.0