Git Mastery Challenge: сломанный репозиторий для практики

Зачем 9 уроков серии дают навыки по одному за раз в стерильных sandbox-репозиториях. В реальности проблемы наваливаются слоями: мусорная история и утекший секрет и merge-конфликт и два worktree в разных состояниях — всё одновременно. Challenge — один заранее сломанный репозиторий с 10 такими проблемами. Вы проходите его руками и проверяете прогресс автоматическим скриптом. Что внутри Репозиторий собирается скриптом setup-challenge.sh из чистого состояния и содержит: Грязная история коммитов — сообщения fix, oops, update stuff (урок 1) Потерянный коммит в reflog — кто-то сделал reset --hard, в рабочем дереве его нет (урок 2) Merge-конфликт в одном файле от трёх веток (уроки 3, 4) Активная ребейс-цепочка, прерванная на конфликте — нужно продолжить или отменить (урок 4) API-ключ и приватный RSA в истории — нужно вычистить и подстраховаться хуком (урок 5) Серия из пяти WIP-коммитов перед merge — нужен rebase -i squash (урок 4) Регрессия в 20 коммитах — ищется bisect’ом за 5 шагов (урок 6) Коммит из чужой ветки нужен в вашей — cherry-pick с конфликтом + rerere запомнит решение (урок 7) Параллельная задача без потери WIP — решается worktree (урок 8) Старый хлам в .git/worktrees/ — осиротевшие записи, нужен worktree prune (урок 8) Задачи 7, 8, 9 — бонус: там есть submodules, огромные бинарные файлы и устаревший Git Flow. Эти темы не в наших 9 уроках, но решаются накопленным инструментарием (фильтрация истории, переход на package manager, распутывание веток). ...

16 апреля 2026 · 4 минуты · 676 слов · DevOps Way