2016-06-13 2 views
2

Похоже, я должен это сделать, используя Subclipse или Tortoise.SVN переключается на другую ветку, позволяя мне объединить/зафиксировать позже

Я начал работу над функцией в ветке, и объем этой функции вырос, поэтому я не проверяю, чтобы эта ветвь была стабильной. Я хочу место для регистрации, поэтому я разветвил исходную ветку, и я хотел бы указать свою копию на эту ветку.

Использование SVN-переключателя, кажется, я должен разрешать конфликты как часть процесса, но я не готов это сделать. Я просто хочу, чтобы мое рабочее пространство теперь указывало на копию ветки, на которую она указывала раньше, позволяя мне объединиться и обновить в свое время.

Есть ли способ сделать это?

ответ

1

переключатель должен сделать обновление. Я не думаю, что ваша проблема связана с коммутатором, возможно, с созданной веткой. Предположим, что ваша рабочая копия обновлена ​​до r100 вашего репозитория, и вы начинаете делать изменения локально. Теперь вы решили создать свой филиал, и вы создаете его на основе хранилища HEAD, который не находится в r150. Тогда да, у вас могут быть некоторые проблемы, потому что ветвь действительно не создана из того же источника, что и ваша рабочая копия.

Если вы хотите оптимизировать свою работу, чтобы упростить ваши изменения, лучше всего создать ветку из рабочей копии. Это один из вариантов мастера, когда вы выбираете свой проект и выбираете команду> Создать филиал/тег ...

Рабочие копии могут быть в сумасшедших состояниях смешанной ревизии, из которых будет создана ветка. Таким образом, это может быть немного сложнее позже, когда вы захотите вернуться к своим изменениям и захотите объединить его с багажником или получить ветку, увенчанную багажником.

Если у вас есть приблизительное представление о том, какой доработкой ваша рабочая копия, то подход средней линии должен был бы создать ветвь против ревизии репозитория. Затем ветка чиста, и вы минимизируете вероятность конфликтов при обновлении рабочей копии с помощью переключателя.

+0

Я думаю, вы понимаете мою проблему, но я не уверен, что понимаю ваше решение.Я думаю, что моя проблема в том, что я не совсем понимаю цель переключения. В основном, моя рабочая копия имеет туловище, но с сундуком замороженным, мне нужно где-то передать код (ветвь текущего ствола). Я хочу продолжить работу, совершать/разрешать конфликты в своем расписании. Мне просто нужна моя рабочая копия из этой ветки ствола, а не багажника. Кажется, что вам требуется синхронизировать рабочую копию и новое местоположение репо как часть его процесса, что мне сейчас не нужно делать. –

+1

Я понимаю вашу проблему, чего вы хотите, не существует. Переключатель обновляет рабочую копию, указывая на новую ветку, и для этого требуется выполнить обновление. Методики, которые я вам дал, заключались в том, чтобы обеспечить, насколько наилучшим образом вы можете, чтобы филиал был идентичен вашей рабочей копии, делая обновление без операции или близко к нему. –

+0

Спасибо, я следовал рекомендациям и успешно перешел. Я разрешил все конфликты до разветвления и переключения. Любой совет, когда я должен объединить эту ветку обратно в ее исходную строку? Благодарю. –

1

Я не уверен, что я понимаю, что вы хотите сделать. В любом случае вам придется поговорить с вашими коллегами об этих конфликтах, прежде чем разрешать их.

Но если вы хотите отложить разрешение конфликта и начать работу над новой веткой, просто проверьте новую рабочую копию новой ветки. Оставьте существующую рабочую копию с незафиксированными изменениями (не удаляйте ее!) И используйте новую чистую рабочую копию.

+0

У меня есть модифицированная рабочая копия ветви, я хочу создать временную ветвь этой ветви, указать текущую рабочую копию к ней и продолжить работу БЕЗ необходимости объединять/обновлять текущие изменения. Коммутатор делает это, за исключением того, что он нечеткое слияние текста ко всем моим файлам с конфликтами, и это почти все из них. Я просто хочу изменить, где мой экземпляр указывает, и продолжать работать над ним, в конечном счете, слияния, но не так, как второй SVN хочет, чтобы я сделал. –

0

Если я правильно понял, у вас есть исходная ветвь (ветвь 1) и ветвь, которую вы создали из этого разветвленного кода (ветвь 2). Вместо того, чтобы переходить из Branch 1 в Branch 2, я бы проверил Branch 2, скопировал мои изменения, сделанные в Branch 1 (разрешая любые конфликты), и передал в Branch 2. Я обнаружил, что использование SVN-переключателя между базами разветвленных кодов не столь изящно, как это должно быть, и иногда лучше просто скопировать/вставить изменения кода.

+1

Спасибо, похоже, что это мой единственный вариант. Я действительно надеялся, что смогу отложить разрешение конфликтов, но похоже, что коммутатор такой же мощный, как я думал. –

Смежные вопросы