В моей организации у нас есть хук коммитов, который отклоняет коммиты, если ЛЮБОЙ коммит в дереве имеет значение автора, которое не соответствует определенному шаблону.Обычно это используется для отлова ошибочных коммитов до их слияния с целевой веткой.Тот факт, что он также сканирует существующие коммиты в целевой ветви, обычно не имеет значения, так как хук предотвращает объединение этих «испорченных» коммитов.
Однако у людей, которые поддерживают этот хук, вчера возникла производственная проблема.в результате все разработчики были заблокированы.Таким образом, они отключили его, пока не смогли выяснить, почему он ломался.
Я сразу же был обеспокоен этим, потому что это означало, что возможно, что разработчик, который не уделял должного внимания, мог объединить один илиmore фиксирует неверное авторское значение.
Как я и ожидал, моя проблема была реализована, поскольку одному разработчику это удалось.
У нас есть досадный обходной путь, который может заставить ловушку пройти проверкудаже при наличии некоторых «испорченных» коммитов в целевой ветви (требует создания исходной ветви в центральном репозитории (BitBucket) вместо локального репо), но я действительно не хочу этого делать или иметь вседругие разработчики делают это.
Я действительно хочу просто исправить уже объединенные коммиты.
Итак, это означает интерактивное перебазирование.Я понимаю процесс, даже как изменить значение автора для каждого коммита.Меня беспокоит предупреждение о «переписывании истории» и о том, может ли это что-нибудь сломатьИнтерактивная перебазировка хороша, когда вы работаете с веткой запросов на извлечение, которая используется только вами, и еще не объединена с целевой веткой.Я говорю о том, чтобы сделать это на «master».
Однако ЕДИНСТВЕННОЕ изменение, которое я собираюсь внести в любой из этих коммитов, является значением автора.Если это единственное изменение, которое я делаю, какие есть риски?Устраняет ли это основной риск «переписывания истории»?