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