Заканчивался Последний День Рабочей Недели...

Заканчивался последний день рабочей недели.

Я готовил себе кофе на офисной кухне, размышляя, как нам сократить очередь запросов на включение, которая сильно выросла с момента введения руководство по обзору .

Казалось бы, простые правила вызвали длительную переписку в комментариях к пул-реквестам между членами команды обзора и разработчиками фреймворка.



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

Никаких знаков не было.

Темнело.

Внезапно рабочий чат зашуршал сообщениями: – Почему мой запрос на включение был удален? — И мои пул-реквесты были взорваны! - И мое! Буквально через несколько минут инвестиций мы выяснили, что это произошло из-за того, что кто-то удалил рабочую ветку Bootstrap, в которую более 3 месяцев вносили вклад более 40 человек.

Еще раз, чтобы вы могли понять всю масштабность проблемы, сорок человек заливали в нее код более трех месяцев.



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

Коллеги сразу начали фонтанировать идеями, что у всех нас есть локальные копии этой ветки, и давайте создадим эту ветку с нуля.

По опыту знаю, что поспешные решения и импровизация ни к чему хорошему не приводят, поэтому я попросил всех не предпринимать никаких действий и буквально «убрать руки с клавиатуры».



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

Итак, диспозиция — пятница, вечер, почти пустой офис, затерянный филиал с огромной кодовой базой.

Если не решить эту проблему здесь и сейчас, то есть вероятность, что ситуация усугубится, если на выходных к работе присоединятся другие разработчики, не в курсе сложившейся ситуации (мы все внимательно читаем рабочий чат, не так ли? ).

Я вежливо спросил в чате, кто удалил ветку Bootstrap, и один молодой разработчик, недавно привлеченный к работе, признался, что сделал это по ошибке.

"Извини".



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

Хватаю удачливого специалиста, и мы мчимся к молодому разработчику, который в этот момент переживает экзистенциальный кризис, и чье рабочее место по счастливому стечению обстоятельств находится в одном офисе с нами.

Мы, конечно, восстановили ветку — немного git-магии, и всё получилось.

Чего нельзя сказать о более чем 20 пул-реквестах, исчезнувших в недрах GitHub. Неприятно, но не смертельно.

Пора перевести дух, понять, что произошло, и сделать некоторые выводы.



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

Главный вопрос: почему? Ответ, в общем-то, тривиален – случайно.

Что-то было не так с кодом, который был закоммитирован в собственную рабочую ветку — ничего криминального, просто код был написан некрасиво, и даже если вы отмените коммит, он все равно останется в истории.

Поэтому разработчик решил снести всю свою рабочую ветку и создать заново.

С нуля.

И ветка Bootstrap попала под горячую руку.

Пятница.

Вечер.

Мисклик, да.



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

GitHub позволяет отменить операцию удаления, но только до тех пор, пока страница не обновится и этот шанс не будет использован.

Можно ли было избежать этой ситуации? Да, ты можешь.

По умолчанию любой, у кого есть доступ на запись в ваш репозиторий, может удалить любую ветку.

Однако GitHub позволяет вам создать правило защиты ветвей для одной или нескольких ветвей.



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

Где важно убедиться, что соответствующий флажок не установлен.



Заканчивался последний день рабочей недели.
</p><p>
.
</p><p>
.
</p><p>

Для ветки начальной загрузки этого не было сделано, и это нас догнало.

Нижняя линия:

  1. Ветка была сохранена.

  2. Теперь для любой темы, в которой участвует более одного человека, мы устанавливаем правило защиты.

    То, что я советую всем не забыть сделать.

  3. Поддержка пакетов BootStrap В JDI Лайт В конце концов мы реализовали это и выпустили.

    Но что это такое и почему – это другая история.

Теги: #github #open source #Тестирование ИТ-систем #jdi Light #случай из жизни #ничего не предсказывалось #темнело
Вместе с данным постом часто просматривают: