Я сделал фатальную ошибку, используя Gerrit, и мне было интересно, может ли кто-нибудь предложить решение/идею для этого:
Текущая ситуация такова, что у меня есть ветка feature-foo
, в которую наша команда отправляет изменения для проверки. Некоторые из этих изменений уже отправлены/объединены, и многие еще открыты для рассмотрения. Итак, вчера я решил применить набор исправлений к определенному изменению, имеющему около 15 предыдущих изменений (еще не объединенных).
Я случайно пропустил проверку кода (да, у меня есть эти разрешения, и да, я был достаточно глуп, чтобы не деактивировать их для собственной безопасности — урок усвоен). Это привело к тому, что эти 15 изменений/коммитов были отправлены непосредственно в ветку, а не в код-ревью. Итак, теперь все эти изменения помечены MERGED
в Gerrit. Моей непосредственной идеей было сделать push -f
, используя коммит, который, как я знал, изначально был вершиной feature-foo
.
Это правильно сбрасывает ветку туда, где она должна была быть. Но эти 15 изменений по-прежнему отмечены MERGED
в Gerrit. Что я хочу: мне нужно, чтобы эти изменения вернулись к состоянию «Проверка в процессе», потому что на самом деле они все еще работают.
Любые идеи, кто-нибудь? Я не могу представить, что это не случалось с кем-то раньше...
С уважением,
--qu
РЕДАКТИРОВАТЬ 1: Чтобы уточнить - неправильно отправленная фиксация привела к ускоренной перемотке вперед, а не к слиянию. Тем не менее, для Геррита эти изменения/коммиты по-прежнему «ОБЪЕДИНЕНЫ», как если бы кто-то нажал «Отправить изменение» в веб-интерфейсе Gerrit. Итак, этот вопрос на самом деле касается Геррита, а не самого Git.
ключевые слова: случайное нажатие, случайное слияние