open atlas

git

Git: от нуля до сеньора

Начни, ни разу не запустив `git init`. Закончи, умея ветвиться, делать rebase, восстанавливать потерянную работу, переписывать историю — включая смену автора коммита — и вести рабочий процесс ветвления, на котором катит настоящая команда.

10 юнитов·45 уроков·~13 ч

Начать трек
01

Контроль версий и модель git

Git хранит проект как последовательность полных снимков, а не как кучу диффов. Пойми три места, где может жить файл — рабочее дерево, индекс, репозиторий — и ты понял бо́льшую часть git.
02

Фиксация изменений

Основной цикл: правка, индексация, коммит. Читай изменения через status и diff, не пускай мусор через .gitignore и пиши коммиты, которыми реально сможет пользоваться коллега — или ты в будущем.
03

Ветки и слияние

Ветка — это просто подвижный указатель на коммит: дёшево создать, дёшево выбросить. Создавай их, переключайся между ними, сливай обратно и разрешай возникающие конфликты.
04

Откат и переписывание истории

Ошибки обратимы. Сбрасывай правки через restore, двигай HEAD через reset, безопасно откатывай через revert, восстанавливай удалённые коммиты через reflog и меняй форму истории через интерактивный rebase — включая смену автора и даты коммита.
05

Удалённые репозитории и совместная работа

Удалённый репозиторий — это другая копия твоего репо, обычно на GitHub. Пушь в него свои коммиты, забирай чужие и пойми отслеживающие ветки, которые зеркалят его состояние, чтобы команда работала над одним проектом, не затирая друг друга.
06

Командные рабочие процессы

Рабочий процесс ветвления — это договор команды о том, как код движется от идеи к продакшену. Сравни три, на которых катят настоящие компании — git-flow, GitHub flow, trunk-based — и научись выбирать тот, что подходит размеру команды и темпу релизов.
07

Ежедневные инструменты

Команды, к которым сеньоры тянутся не задумываясь: прятать незавершённое в stash, переносить отдельный коммит через cherry-pick, помечать релиз тегом, держать две ветки сразу через worktree и гнуть git под себя алиасами и конфигом.
08

Под капотом

Git — это хранилище объектов с адресацией по содержимому и указателями поверх. Разбери четыре типа объектов, как ссылки и HEAD их индексируют, как merge и rebase на самом деле проигрывают коммиты и как хуки запускают код на событиях git.
09

Масштаб и спасение

Большие репозитории и плохие дни. Дёшево клонируй огромную историю, вендори код через submodule, вычищай секреты из всей истории через filter-repo, подписывай коммиты для доверия и возвращай репозиторий с того света.
10

Собираем всё вместе

Прогони весь цикл так, как делает настоящая команда: проведи фичу от ветки до влитого релиза, восстановись после запоротого мержа под давлением и ответь на вопросы по git, которые задают на сеньорском собеседовании.