Пожалуйста, рассмотрите это дерево git:
local repo:
C---D---E feat
/ \
A---B---F---G---H---I dev
origin remote repo:
C---D---E feat
/ \
A---B---F---G---H dev
У нас есть git-репо с удаленным источником.Была ветка dev под названием feat, и она была объединена с dev после нескольких коммитов.Проблема в том, что ветка feat предоставила много модификаций ветке dev и имела много конфликтов, поэтому мы решили, что исходный код feat должен преобладать, и использовали опцию -X
при объединении.Мы проверили результат слишком быстро и нажали на пульт.Но мы допустили ошибку, мы использовали -Xours
вместо -Xtheirs
при объединении, поэтому все конфликты автоматически разрешались с использованием кода ветви dev, а не кода feat.И все это было выдвинуто к происхождению.Это H коммит.
То, что я сделал локально, это git revert HEAD
, что дало мне I коммит для отмены H коммит,Оттуда я попытался снова объединить ветвь feat с правильной опцией -Xtheirs
, и git сообщает, что дерево уже обновлено, но модификации из ветки feat в исходном коде нет.
Я попытался перейти от feat, спасительной ветви, и объединить его с dev, но он сделал то же самое.Я попытался внести небольшие изменения в ветку feat и слиться с dev, но в dev переходят только небольшие изменения.
Итак, вот мой вопрос: как я могу вернуть работу, выполненную в ветке feat, в dev?