Зафиксировать изменения в другой ветке, чем текущая отмеченная ветка с subversion
Я работал над кодом, извлеченным из линии разработки, и обнаружил, что внесенные изменения могут нарушать изменения и должны быть перенесены в экспериментальную ветвь, прежде чем перейти к основному дереву dev. Тем не менее, у меня нет экспериментальной ветки, и я не хочу потерять уже внесенные изменения.
Есть ли способ зафиксировать изменения в рабочей папке в другой ветке, чем первоначально выдан?
Ответы
Ответ 1
Вы должны создать ветку из известного sourceURL
(это будет ваша "линия развития", которую вы упомянули в вопросе):
svn copy sourceURL branchURL
Затем перейдите к этой ветке:
svn switch branchURL
И сделайте свои изменения:
svn commit
Ответ 2
Вы можете сделать это в TortoiseSVN следующим образом:
- Щелкните правой кнопкой мыши каталог, в котором указаны изменения, которые вы хотите разветкить. Он не должен быть корнем репозитория, менее дублируется таким образом;
- Выберите TortoiseSVN → " Филиал/тег...";
- Установите в URL: "svn://host/repository/FooBar/branches/FooBarBranchName";
- Убедитесь, что выбрана [*] Рабочая копия. Это обеспечит фиксацию изменений;
- Сообщение журнала: "Экспериментирование с мухами:)";
- Дополнительно: Tick [*] Переключить рабочую копию в новую ветку/тег. Это полезно, если вы планируете продолжать работу над новой веткой. Хотя вы также можете переключиться на нее позже.
- Попробуйте найти кнопку ОК. Подсказка: она находится в нижней части окна по центру.
Наслаждайтесь!
Ответ 3
Вы можете создать новую ветку непосредственно из своего рабочего каталога и переключить рабочий каталог на эту ветку.
Команды:
svn copy
и svn switch