Зафиксировать изменения в другой ветви, чем в текущей извлеченной ветви с subversion

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

есть ли способ зафиксировать изменения в рабочей папке в другой ветви, чем первоначально проверено?

3 ответов


вы должны создать ветку из известного sourceURL (это будет ваша "линия развития", которую вы упомянули в вопросе) сначала:

svn copy sourceURL branchURL

затем переключитесь на эту ветку:

svn switch branchURL

и зафиксируйте свои изменения:

svn commit

вы могли бы сделать это в TortoiseSVN так:

  • щелкните правой кнопкой мыши на каталоге, где находятся изменения, которые вы хотите ветвить. Это не должен быть корень репозитория, тем более дублировать таким образом;
  • выберите в TortoiseSVN ->"ответвление/метку...";
  • Set URL: "svn: / / host / repository/FooBar / branches/FooBarBranchName";
  • убедитесь, что [*] выбрана рабочая копия. Эта воля убедитесь, что изменения внесены;
  • сообщение журнала: "экспериментируя с мухами :)";
  • Дополнительно: Галочку [*] переключить рабочую копию на новую ветку/тег. Это полезно, если вы планируете продолжить работу над новой веткой. Хотя вы можете переключиться на него позже.
  • попробуйте найти OK. Подсказка: он находится в нижней части окна по центру.

наслаждайтесь!


вы можете создать новую ветвь непосредственно из своего рабочего каталога и переключить рабочий каталог на эту ветвь.

команды svn copy и svn switch