Как перенести все изменения, которые не вызывают конфликта?Linux

Ответить
Anonymous
 Как перенести все изменения, которые не вызывают конфликта?

Сообщение Anonymous »

Я имею дело с, надеюсь, худшим конфликтом слияния в моей карьере. По сути, существует две версии одного и того же метода, каждая из которых использует разные математические методы, опубликованные в соответствующих журнальных статьях. Одна ветка (главная) работает успешно, с момента слияния было зафиксировано 345 коммитов. Другой прожил год самостоятельно и имеет 64 коммита. Я просмотрел слияние и две статьи, но пока не знаю, как справиться с конфликтующими разделами (имеется 38 конфликтов слияния, в основном в 4 файлах). Я согласен с тем, что будут некоторые регрессии, но я хочу, чтобы тесты во входящей ветке начали работать. Это означает резервное копирование коммитов (

Код: Выделить всё

git cherry-pick
) и файлы (

Код: Выделить всё

git checkout master -- 
), которые имеют вспомогательные функции/нарушающие изменения 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»