Я имею дело с, надеюсь, худшим конфликтом слияния в моей карьере. По сути, существует две версии одного и того же метода, каждая из которых использует разные математические методы, опубликованные в соответствующих журнальных статьях. Одна ветка (главная) работает успешно, с момента слияния было зафиксировано 345 коммитов. Другой прожил год самостоятельно и имеет 64 коммита. Я просмотрел слияние и две статьи, но пока не знаю, как справиться с конфликтующими разделами (имеется 38 конфликтов слияния, в основном в 4 файлах). Я согласен с тем, что будут некоторые регрессии, но я хочу, чтобы тесты во входящей ветке начали работать. Это означает резервное копирование коммитов (
) и файлы (
), которые имеют вспомогательные функции/нарушающие изменения API между ветвями, а затем медленно разрешают оставшиеся конфликты с помощью авторов статьи.
Я вижу это из git merge -> git status длинный список файлов, которые не вызывают конфликта (около 200 файлов). Есть ли способ проверить все из мастера и зафиксировать их в функциональной ветке? Что-то вроде git merge && git status | awk/sed/grep > files.txt && git merge --abort, за которым следует cat files.txt | git checkout master -- ? Дополнительная сложность: этот список содержит измененные, удаленные, новые файлы и переименованные неконфликтующие файлы. Я знаю, что могу разрешить наши/их, чтобы пройти через конфликты слияния, но я не хочу, чтобы этот коммит видел master в качестве предка.
Подробнее здесь:
https://stackoverflow.com/questions/785 ... a-conflict