Итак, один из моих коллег случайно сделал слияние, которое фактически удерживало только одну сторону дерева. Итак, он начал слияние, удалил все изменения, внесенные слиянием, а затем совершил слияние.
Вот простой тестовый пример, который я сделал на тестовом репо. У этого репо есть три ветки. idx - это ветвь темы, которая была случайно объединена, а master - основной. dev - это просто проверка того, как revert -m работает, чтобы вы могли его игнорировать.
Что я хочу сделать, это вернуть ошибочное слияние. Поэтому из мастера я пытаюсь запустить git revert -m 1 <sha1sum of faulty merge>
, но затем git отвечает:
# On branch master
nothing to commit (working directory clean)
Таким образом, на самом деле он не создает реверс, который отменяет слияние. Я считаю, что это происходит потому, что слияние фактически не содержало реальных изменений.
Если вы хотите поиграть с моим тестовым репо, вы можете скачать его из здесь
Является ли это ошибкой git, или я что-то не хватает?