Ситуация
Ты – дежурный инженер команды svodka. Это консольный отчет по продажам: точки присылают csv-выгрузки, скрипт собирает сводку для руководителя смены.
- Репозиторий:
/opt/svodka, веткаmain, сборка:./run-tests.sh - Утром сборка красная, а релиз
v1.2(есть git-тег) был точно зеленым - После релиза в main въехало 28 коммитов от трех человек, никто не признается
- Тикет:
/root/ticket.txt, вердикт запиши в/root/findings.txtстрокойverdict=<хеш>
Историю переписывать нельзя: никаких reset --hard и force-push. Виновный коммит должен остаться в git log, чинить – откатом или правкой поверх.
Что проверим
5 пунктов · по состоянию системы, а не по командам
Найди виновный коммит бисекцией
Сборка
./run-tests.shпадает, релиз v1.2 был зеленым. Пометь обе границы поиска – сломанную (текущий HEAD) и рабочую (v1.2), – найди первый плохой коммит и запиши его хеш в/root/findings.txtстрокойverdict=<хеш>(короткий хеш подойдет).Заверши бисекцию
После расследования репозиторий должен вернуться в обычный режим: HEAD на ветке main, bisect выключен.
Почини сборку
Тесты должны снова проходить. Виновный коммит можно откатить или поправить код руками.
