Git для начинающих: минимум, который спасает проект
Git для начинающих и вайбкодеров: коммиты, ветки, как откатить сломанное, зачем нужен GitHub и почему секреты нельзя коммитить никогда.
Git — это система, которая запоминает историю изменений в проекте. Каждый раз, когда ты говоришь ей «сохрани», она делает снимок всех файлов, и к любому снимку можно вернуться.
Если ты собираешь приложение с ИИ, git — не инструмент для «настоящих программистов», а страховка. Ассистент за минуту может переписать двадцать файлов, и иногда после этого ничего не работает. Без git ты пытаешься вспомнить, как было. С git — возвращаешься на прошлую версию одной командой. Ниже — тот самый минимум git для начинающих, которого хватает, чтобы не терять работу.
Коммит — это точка сохранения
Коммит — снимок проекта с короткой подписью: что изменилось. Как сохранение в игре перед боссом.
Главное правило вайбкодинга с git: коммить каждое рабочее состояние. Ассистент добавил форму, ты проверил, что она работает, — коммит. Потом просишь следующее изменение. Если оно всё сломает, ты откатишься к форме, которая работала, а не к состоянию трёхдневной давности.
Подпись пиши для себя через месяц: «Оплата через Stripe, без вебхуков» полезнее, чем «fix» или «изменения».
Ветка — это черновик
Ветка позволяет попробовать что-то рискованное, не трогая рабочую версию. Основная ветка обычно называется main. Хочешь, чтобы ИИ переделал всю навигацию, — создай ветку, экспериментируй там. Получилось — сливаешь в main. Не получилось — просто возвращаешься в main, будто ничего не было.
Одной-двух веток для экспериментов на старте достаточно. Сложные схемы с десятком веток нужны командам, а не одному человеку с ассистентом.
Минимальный набор команд
Многие редакторы и Lovable, Bolt, Replit умеют работать с git через кнопки, но полезно понимать, что за ними стоит:
git status # что изменилось с последнего коммита
git add . # отметить все изменения для коммита
git commit -m "Вход по почте работает"
git log --oneline # история коммитов
git switch -c try-new-nav # создать ветку и перейти в неё
git switch main # вернуться в основную ветку
git restore . # выбросить незакоммиченные правки
git revert <номер коммита> # отменить конкретный коммит новым коммитом
git push # отправить коммиты на GitHub
Две команды отмены отличаются. git restore . выбрасывает то, что ты ещё не закоммитил, — например, неудачную правку ассистента. git revert отменяет уже сделанный коммит, но не стирает историю, а добавляет новый коммит «наоборот». Это безопасно. Команды с reset --hard и push --force лучше не использовать, пока не понимаешь, что именно они удалят.
GitHub — копия, которая не сгорит вместе с ноутбуком
Git хранит историю на твоём компьютере. GitHub (или GitLab, Bitbucket) хранит копию в сети. Это и резервная копия, и способ показать код разработчику, и основа для автоматического деплоя.
Сделай репозиторий приватным, если не собираешься открывать код. И делай git push хотя бы в конце каждого рабочего дня.
Секреты не коммитятся никогда
Это самое важное правило в статье. Ключи API, пароли от базы, токены — всё это хранится в файле .env, и этот файл должен быть в .gitignore — списке того, что git не отслеживает. Проверь это прямо сейчас: открой .gitignore и найди там .env.
Если ключ уже попал в коммит, удалить файл следующим коммитом недостаточно: ключ остаётся в истории, и любой, у кого есть доступ к репозиторию, его найдёт. А в публичных репозиториях ключи находят автоматические сканеры. Правильный порядок: отозвать ключ в панели сервиса, выпустить новый, положить его только в .env. Чистка истории — уже потом и по желанию.
С чего начать сегодня
- Если проекта нет в git — инициализируй репозиторий (
git init) или включи синхронизацию с GitHub в своём инструменте. - Проверь
.gitignore: там должны быть.env,node_modulesи папки сборки. - Сделай первый коммит текущего рабочего состояния.
- Создай приватный репозиторий на GitHub и отправь туда код.
- С этого момента — коммит после каждого изменения, которое работает.
Коротко
- Git хранит историю проекта и позволяет вернуться к любой сохранённой версии.
- Коммить каждое рабочее состояние: это точка отката, если ИИ что-то сломает.
- Ветки — для рискованных экспериментов,
main— для того, что работает. - GitHub — копия проекта вне твоего компьютера; делай репозиторий приватным.
- Секреты живут в
.envпод.gitignore; утёкший в историю ключ нужно заменить, а не просто удалить.
SUBXCAT помогает навести порядок в репозитории и истории проекта перед тем, как передавать его команде или запускать.