Я подозреваю недоразумение о том, что должно делать слияние.(обратите внимание на акцент и потерпите меня)
Давайте разберемся, если есть.
Нам лучше сосредоточиться на файле views/footprint.handlebars
.Было ли оно изменено между первоначальным коммитом и вашим локальным коммитом?Между начальным коммитом и origin/master
?Оба?
Если вы не изменили его, ожидается тот факт, что после слияния ваш файл отражает их изменения.
Если они не изменили его иваша измененная версия перезаписывается «более старой» версией из первоначального коммита после слияния, теперь это странное поведение для исследования.
Если и вы, и они внесли изменения в файл, но на отличаются, не конфликтующие точки , то конечный результат должен содержать изменения с обеих сторон, без конфликта.Я бы не назвал это «перезаписанным».
Наконец, если вы действительно хотите сохранить этот файл в том же состоянии, в каком он был в вашей недавней локальной фиксации, вы должны будете, как и вынамекнул, как на очень утомительную вещь, создайте конфликт слияния, но это не имеет большого значения:
git checkout master
git fetch
git merge --no-commit origin/master
git checkout HEAD -- views/footprint.handlebars
git commit -am "Kept file views/footprint.handlebars as per commit 79d9d4e"
Дайте нам немного больше отзывов, и я отредактирую для корректировки.(вероятно, завтра, хотя; -)
Добавление после комментариев:
Я в значительной степени согласен с комментарием Бесполезного вниз ниже .Я не понял из вашего первоначального вопроса, что в самом файле между вами и коммитами вашего коллеги было взад и вперед (как вы добавили здесь ).
Решением для восстановления как ваших необходимых изменений, так и их изменений теперь может быть проверка истории файлов, а затем тщательная перестройка содержимого из исходного общего состояния, но в зависимости от вашего контекста сложно посоветовать лучшую формулу.Если коллега готов разобраться с вами, вы, вероятно, избежите множества головных болей.
Добавление к эпилогу:
Извините за горький сладкий финалЯ полностью понимаю, что вы предпочли бы более интеллектуально удовлетворительный ответ / решение.Я благодарю вас за щедрость и всех остальных за все проницательные комментарии.