Хорошо, я думаю, что мне удалось найти рабочий процесс, который вернет вас туда, где вы должны быть (как будто вы не сделали поп-музыку).
СДЕЛАТЬ РЕЗЕРВНОЕ КОПИРОВАНИЕ ДО Я не знаю, сработает ли это для вас, поэтому скопируйте весь репозиторий на тот случай, если он не сработает.
1) Исправьте проблемы слияния и исправьте все конфликты, выбрав все изменения, которые появятся в патче (в tortoisemerge это отображается как единое целое. REMOETE (их)).
git mergetool
2) Зафиксируйте эти изменения (они уже будут добавлены с помощью команды mergetool). Дайте ему сообщение коммита "слияние" или что-то, что вы помните.
git commit -m "merge"
3) Теперь у вас все еще будут локальные неотмеченные изменения, которые вы запустили изначально, с новым коммитом из патча (мы можем избавиться от этого позже). Теперь внесите ваши не внесенные изменения
git add .
git add -u .
git commit -m "local changes"
4) Поменяйте местами патч. Это можно сделать с помощью следующей команды:
git stash show -p | git apply -R
5) Зафиксируйте эти изменения:
git commit -a -m "reversed patch"
6) Избавиться от патча / распаковать коммиты
git rebase -i HEAD^^^
из этого удалите две строки с «слияния» и «обратный патч» в нем.
7) Верните свои неизмененные изменения и отмените фиксацию «локальных изменений».
git reset HEAD^
Я рассмотрел его на простом примере, и он возвращает вас туда, где вы хотите быть - непосредственно перед тем, как тайник был извлечен, с вашими локальными изменениями и с тем, что тайник все еще был доступен для извлечения.