Хорошо, я думаю, что мне удалось найти рабочий процесс, который вернет вас туда, где вы должны быть (как если бы вы не сделали поп-музыку).
СДЕЛАЙТЕ РЕЗЕРВНОЕ КОПИРОВАНИЕ ПЕРЕД !!Я не знаю, сработает ли это для вас, поэтому скопируйте весь репозиторий на тот случай, если он не сработает.
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^^^
, удалите две строки с 'merge' и 'reversed patch' в нем.
7) Верните ваши неизменные изменения и отмените фиксацию «локальных изменений»
git reset HEAD^
Я прошел простой пример и вернул вас туда, куда вы хотитебыть - непосредственно перед тем, как тайник был извлечен, с вашими локальными изменениями и с тем, что тайник все еще был доступен для извлечения.