На уровне 5 ты научился отправлять код в Git, а на уровне 14 узнал про переменные окружения и секреты. Сейчас эти две темы встречаются: разберёмся, что категорически нельзя отправлять в репозиторий и как себя обезопасить.
Секреты остаются дома
Git запоминает всё, что ты в него коммитишь, — и хранит это в истории навсегда. Поэтому есть вещи, которым в репозитории не место:
- пароли от баз данных и сервисов;
- API-ключи — те самые секретные строки с уровня 14;
- файлы с настройками вроде
secrets.env, где лежат твои ключи.
Почему это важно? Если секрет попадёт в Git, его увидит каждый, у кого есть доступ к коду. А если ты ещё и отправишь репозиторий на GitHub — секрет окажется в облаке, и злоумышленник сможет им воспользоваться. Поэтому правило простое: код коммитим, секреты — нет.
.gitignore — список «не трогать»
Чтобы Git не замечал секретные файлы, их имена пишут в специальный файл — .gitignore. Всё, что перечислено в нём, Git будет игнорировать: не отслеживать, не коммитить, не отправлять в облако.
Создать его проще простого:
echo "secrets.env" > .gitignore
Эта команда создаёт файл .gitignore и записывает внутрь строку secrets.env. Теперь Git «не видит» этот файл. Проверим, что внутри:
cat .gitignore
Ты увидишь строку secrets.env — значит, секрет под защитой.
В .gitignore можно перечислить много файлов и папок — по одному имени на строку. Часто туда добавляют .env, папку node_modules и временные файлы. Этот файл коммитить как раз нужно — он сам по себе не секрет, а лишь список того, что прятать.
Попробуй
Создай файл .gitignore командой echo "secrets.env" > .gitignore, а потом загляни внутрь через cat .gitignore. Как только секрет окажется в списке игнорируемых — урок зачтётся. Подсказка ждёт под терминалом.