# Git для начинающих: минимум, который спасает проект

> Git для начинающих и вайбкодеров: коммиты, ветки, как откатить сломанное, зачем нужен GitHub и почему секреты нельзя коммитить никогда.

Published: 2026-01-02 · Source: https://subxcat.com/ru/articles/git-for-vibe-coders · Author: SUBXCAT

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`. Чистка истории — уже потом и по желанию.

## С чего начать сегодня

1. Если проекта нет в git — инициализируй репозиторий (`git init`) или включи синхронизацию с GitHub в своём инструменте.
2. Проверь `.gitignore`: там должны быть `.env`, `node_modules` и папки сборки.
3. Сделай первый коммит текущего рабочего состояния.
4. Создай приватный репозиторий на GitHub и отправь туда код.
5. С этого момента — коммит после каждого изменения, которое работает.

## Коротко

- Git хранит историю проекта и позволяет вернуться к любой сохранённой версии.
- Коммить каждое рабочее состояние: это точка отката, если ИИ что-то сломает.
- Ветки — для рискованных экспериментов, `main` — для того, что работает.
- GitHub — копия проекта вне твоего компьютера; делай репозиторий приватным.
- Секреты живут в `.env` под `.gitignore`; утёкший в историю ключ нужно заменить, а не просто удалить.

SUBXCAT помогает навести порядок в репозитории и истории проекта перед тем, как передавать его команде или запускать.
