Карта / Git / commit, branch, merge

commit, branch, merge

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

Commit — снимок состояния кода в один момент времени. Как сохранение в игре — можно вернуться к любому сохранению:

git add file.java        # пометить файл "включить в следующий снимок"
git commit -m "Добавил валидацию email"   # сделать снимок с описанием

Branch (ветка) — отдельная линия разработки, не мешающая основной:

git branch feature/login   # создать ветку
git checkout feature/login # переключиться на неё
# или одной командой:
git checkout -b feature/login

Merge — слить изменения одной ветки в другую:

git checkout main
git merge feature/login    # переносим всё, что сделали в feature/login, в main
main feature/login merge
Копнуть глубже

Зачем ветки, а не работать все вместе в main. Каждая ветка — это изолированное пространство: пока ты доделываешь фичу, main остаётся стабильным, и другие могут продолжать работать, не натыкаясь на твой недописанный код.

Полезные команды на каждый день:

git status      # что изменилось, что не закоммичено
git log         # история коммитов
git diff        # что именно поменялось в файлах
git pull        # подтянуть изменения с сервера
git push        # отправить свои коммиты на сервер
🎤 Закрыл тему, если можешь объяснить:
• что такое commit, branch и merge простыми словами;
• зачем вообще нужны ветки, если можно работать в одной (если дошёл до 2-го слоя).