Кто-то спросил , почему на первый взгляд возможное слияние с использованием git имеет конфликты с кодом, похожим на мой, но (1) мой немного отличается и (2) я ищу решение проблемы не просто объяснение.
edit: это то, что мне нужно сделать для многих файлов, очень часто. Я также должен обучить нетехнических людей, чтобы быть в состоянии сделать это. Вручную объединение каждого конфликта было бы прерывателем сделки для моего варианта использования.
Файл в ветви master
начинается как:
my name is dennis
i am a dolphin
i fix teeth
Я создаю ветку с именем analysis_1
и зафиксировать эти изменения:
my name is dennis
analysis of line 1
i am a dolphin
analysis of line 2
i fix teeth
analysis of line 3
Понимая мою предыдущую ошибку, я извлекаю master
и фиксирую исправление:
my name is dennis
i am a dentist
i fix teeth
Есть ли способ (стратегия, алгоритм или GIT_EXTERNAL_DIFF) инструмент), который может сливаться master
в analysis_1
без конфликта, так что я могу сохранить исправление и анализ, как показано ниже?
my name is dennis
analysis of line 1
i am a dentist
analysis of line 2
i fix teeth
analysis of line 3
Спасибо!
edit 2: Этот вопрос указал на wdiff и заставил меня попробовать diff
параметр --word-diff
, который дает мне желаемый результат сравнения. Следующий шаг - использовать его для слияния.
edit 3: Похоже, слияние на основе слов имеет некоторые вопросы по SO, которые могут принести свои плоды. Я обновлю этот вопрос, если найду решение в одном из тех, которые работают для этого.