Введение
Я понимаю, что уже есть много вопросов о слиянии веток SVN в Stack Overflow. Я прочитал многие из них, но все еще не нашел нужную информацию, поэтому, пожалуйста, прочитайте этот вопрос полностью, прежде чем предлагать закрыть его как дубликат.
Мне нужно объединить одну ветку SVN в другую. Мне довольно комфортно с теорией ветвления и слияния, но я всегда боролся с практикой выполнения слияния, более конкретно, с выявлением и разрешением конфликтов. Я подозреваю, что основной причиной этой проблемы является отсутствие понимания с моей стороны инструментов, необходимых для выполнения работы, то есть TortoiseSVN и различных доступных инструментов визуального слияния.
Основываясь на прочтении различных связанных вопросов переполнения стека, я определил Sourcegear DiffMerge и Beyond Compare в качестве возможных инструментов для выполнения трехстороннего слияния. Я попробовал DiffMerge, но изо всех сил пытался использовать его эффективно. Я ожидал увидеть следующие три файла при разрешении конфликтов
- Файл из ветви A
- Файл из ветки B
- Результат выполнения слияния
Но вместо этого я вижу
- Файл из ветки A
- Файл из ветки B
- Общий предок A и B, базовая версия AKA
Это заставило меня задуматься, как я могу видеть результат слияния после каждого действия, которое я предпринимаю при визуальном разрешении конфликтов. Я также изо всех сил пытался на самом деле выполнить такое действие, например, принимая определенное изменение из ветви A или B. После того, как я немного больше прочитал об этом предмете, теперь кажется, что базовая ревизия фактически является тем местом, где результаты слияния должно быть показано, это правильно?
Я думаю, что скринкаст или видеоурок, демонстрирующий слияние веток с помощью TortoiseSVN и инструмент визуального слияния, вероятно, ответят на большинство моих нерешенных вопросов о том, как эффективно использовать эти инструменты. Меня больше интересует процесс разрешения конфликтов, который выполняет само слияние, но было бы здорово, если бы оба были охвачены.