Обычная продуктовая команда, пятница, 18:40. Мониторинг краснеет, сервис отвечает ошибками, а безопасники пишут, что у одной из виртуалок наружу открыт 22 порт. И в репозиторий лезут сразу все:
- Инфраструктурщик. Инфраструктура описана в Terraform, значит, её история это история коммитов. git log по модулю и git blame на строке с 0.0.0.0/0 за минуту показывают, кто и зачем открыл доступ. Откат делается через git revert и тоже остаётся в истории, с автором и причиной.
- GitOps-инженер. Деплой идёт через Argo CD: merge в нужную ветку это выкатка, а revert этого merge это откат. Но если с утра кто-то сделал rebase общей ветки и переписал историю, придётся разбираться, что откатывать. В GitOps разница между merge и rebase перестаёт быть вопросом с собеседования, потому что ошибка ломает уже не свою ветку, а прод.
- Тестировщица. Ей нужно найти ревизию, на которой появился баг, собрать её и воспроизвести. Если коммиты внятные, а теги стоят по SemVer, это десять минут. Если в истории сорок коммитов с текстом «fix» и «wip», это целый вечер.
- Техписатель. Документация лежит в git рядом с кодом и проходит то же ревью, поэтому в понедельник никто не гадает, какая версия runbook правильная.
- ML-инженер. Модели и датасеты на Hugging Face это обычные git-репозитории с Git LFS, и ответ на вопрос «на чём учили модель» лежит в истории коммитов.
Ни один из этих пятерых не пишет продуктовый код, и все работают с Git каждый день.