Обновите основную ветку, что вам нужно сделать независимо.
Затем один из:
Перебазировать старую ветку против главной ветки. Решите конфликты слияния во время перебазирования, и в результате будет обновленная ветвь, которая сливается чисто с master.
Слияние вашей ветви с мастером и разрешение конфликтов слияния.
Слияние мастера с вашей веткой и разрешение конфликтов слияния. Тогда слияние из вашей ветки в master должно быть чистым.
Ничто из этого не лучше другого, у них просто разные схемы компромисса.
Я бы использовал подход rebase, который, на мой взгляд, дает более чистые общие результаты более поздним читателям, но это не что иное, как личный вкус.
Чтобы перебазировать и сохранить ветку, вы должны:
git checkout <branch> && git rebase <target>
В вашем случае проверьте старую ветку, затем
git rebase master
чтобы восстановить его против хозяина.