История изменений кода
Представьте: вы редактируете код, всё ломается, и вы не помните, что именно изменили час назад. Или: двое разработчиков работают над одним файлом одновременно. Или: нужно найти, в каком именно коммите появилась ошибка среди тысячи изменений.
Все эти проблемы решает Git — система контроля версий, созданная Линусом Торвальдсом в 2005 году для разработки ядра Linux. Сегодня Git — стандарт индустрии.
Основные концепции
Репозиторий (repo) — хранилище кода вместе со всей историей изменений. Локальный (на компьютере) и удалённый (GitHub, GitLab, Bitbucket).
Коммит (commit) — снимок состояния проекта в момент времени. Каждый коммит имеет уникальный хэш, автора, дату и сообщение. История — цепочка коммитов.
Ветка (branch) — независимая линия разработки. Основная ветка (main/master) — стабильный код. Feature-ветки — работа над конкретными задачами без влияния на основную ветку.
Merge — объединение двух веток. Rebase — перенос коммитов одной ветки на вершину другой (более чистая история).
Базовый рабочий процесс
git clone — скопировать репозиторий. git branch feature-name — создать ветку. git add — добавить изменения в staging area. git commit -m "message" — зафиксировать. git push — отправить на удалённый сервер. git pull — получить изменения.
GitHub и Pull Request
GitHub — крупнейшая платформа для хранения репозиториев и совместной работы. Pull Request (PR) — запрос на вливание изменений из feature-ветки в основную. Код-ревью, комментарии, CI/CD — всё происходит в рамках PR. Это основной инструмент командной разработки.
