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