OK, creo que he logrado encontrar un flujo de trabajo que lo llevará de regreso a donde necesita estar (como si no hubiera hecho el pop).
HAGA UNA COPIA DE SEGURIDAD ANTES! No sé si esto funcionará para usted, así que copie todo su repositorio en caso de que no funcione.
1) Solucione los problemas de fusión y solucione todos los conflictos seleccionando todos los cambios que provienen del parche (en tortoisemerge, esto se muestra como one.REMOETE (suyo)).
git mergetool
2) Confirme estos cambios (ya se agregarán mediante el comando mergetool). Dele un mensaje de compromiso de "fusión" o algo que recuerde.
git commit -m "merge"
3) Ahora aún tendrá sus cambios locales sin etapas que comenzó originalmente, con una nueva confirmación del parche (podemos deshacernos de esto más adelante). Ahora confirma tus cambios no organizados
git add .
git add -u .
git commit -m "local changes"
4) Invierta el parche. Esto se puede hacer con el siguiente comando:
git stash show -p | git apply -R
5) Cometer estos cambios:
git commit -a -m "reversed patch"
6) Deshazte de los parches / descomprime confirmaciones
git rebase -i HEAD^^^
a partir de esto, elimine las dos líneas con 'fusionar' y 'parche invertido'.
7) Recupere sus cambios sin cambios y deshaga el compromiso de 'cambios locales'
git reset HEAD^
Lo he revisado con un ejemplo simple y lo lleva de regreso a donde desea estar, directamente antes de que se descubriera el alijo, con sus cambios locales y con el alijo todavía disponible para reventar.