Гаразд, я думаю, що мені вдалося знайти робочий потік, який поверне вас туди, де вам потрібно бути (як би ви не зробили попсу).
ВИКОНУЙТЕ РЕКЛАМ ПЕРЕГЛЯД !! Я не знаю, чи спрацює це для вас, тому скопіюйте всю репо-службу на випадок, якщо вона не працює.
1) Виправте проблеми з об'єднанням і виправте весь конфлікт, вибравши всі зміни, що надходять з патчу (у tortoisemerge це відображається як one.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) Позбавтеся від патчів / unpatch зобов’язань
git rebase -i HEAD^^^
з цього, видаліть два рядки з "злиттям" і "зворотним виправленням" в ньому.
7) Поверніть свої незмінені зміни та скасуйте команду "локальні зміни"
git reset HEAD^
Я переглянув це з простим прикладом, і він поверне вас туди, де ви хочете бути - безпосередньо перед тим, як скрипт з'явився, з вашими локальними змінами та з тим, що скрипт ще доступний для появи.