Я уже некоторое время использую TortoiseSVN, но мне никогда не приходилось ветвиться / объединяться.Наша практика состояла в том, чтобы просто выполнить фиксацию в транке (с нашего сервера разработки) и обновить из транка (на нашем производственном сервере).
Недавно, однако, я поставил себе задачу освоить ветвление и слияние,Ветвление довольно легко, но слияние доставляет мне некоторые неприятности;концептуальное слияние понять не сложно, но что-то теряется в фактическом выполнении.
В качестве простого упражнения на ветвление / слияние я начал со ствола, на котором есть только страница текста с надписью «Этобагажник до каких-либо изменений ".Я изменил эту строку, чтобы прочитать «Это код из проекта A» (БЕЗ фиксации в стволе), затем создал ветку из моей рабочей копии и решил оставить свою рабочую копию в стволе вместо переключения на эту новую ветку.Итак, я создал ветку с моим кодом «Project A», но моя рабочая копия все еще находится в стволе, где написано «Это ствол до любых изменений».Затем я создал ветку для «Проекта B», повторив этот процесс со строкой, которая гласит: «Это код из проекта B».
Так что я получаю свою рабочую копию на стволе, где она читается »Это багажник до каких-либо изменений ".И у меня есть две отдельные ветви для Проекта A и Проекта B, которые я хочу объединить в магистраль, по одной за раз.Идея состоит в том, чтобы смоделировать ситуацию, когда я завершил работу над двумя разными проектами, но я жду, когда они будут одобрены для развертывания в производство, и я не знаю, какой из них будет одобрен первым.Или, если какой-либо из них будет одобрен, прежде чем мне нужно будет начать разработку проекта C.
Теперь я притворяюсь, что проект A был утвержден, поэтому я пытаюсь объединить ветвь проекта A со стволом.,Я ожидаю начать слияние, получить сообщение о том, что есть конфликт, и затем иметь возможность редактировать конфликт так, чтобы текстовая строка проекта заменяла строку текста в объединенном файле, а затем была возможность пометитьэтот конфликт решен.(И я понимаю, что мог бы включить обе строки в объединенный файл, одна поверх другой, если бы захотел).Поэтому я ожидаю, что после слияния в стволе будет строка «Это код из проекта А», а строка «Это магистраль до каких-либо изменений» будет удалена.
Но этоне работает, как я ожидаю.Из ствола я щелкаю правой кнопкой мыши по файлу, выбираю «объединить», и в диалоговом окне я выбираю «Объединить 2 разных дерева».Я выбираю URL-адрес соединительной линии для "from" и URL-адрес ветви A проекта для "to".Затем сливаю, но никаких конфликтов не указывается, и ничего на стволе или ветке проекта А не меняется.Моя рабочая копия остается в стволе, а в файле все еще есть только 1 строка текста: «Это ствол до любых изменений».
Я просматриваю информацию в https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html,, и яЯ не уверен, где я понимаю это неправильно.Любая помощь приветствуется.