Внесіть зміни до іншої гілки, ніж поточно перевірена гілка, із підривною роботою


115

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

Чи є спосіб змінити робочу папку в іншій гілці, ніж спочатку перевірено?

Відповіді:


129

Спершу слід створити гілку із відомого sourceURL(це буде ваша «лінія розвитку», яку ви згадали у питанні):

svn copy sourceURL branchURL

Потім перейдіть до цієї гілки:

svn switch branchURL

І введіть свої зміни:

svn commit

55

Ви можете це зробити в TortoiseSVN так:

  • Клацніть правою кнопкою миші по каталогу, де є зміни, які ви хочете відділити. Він не повинен бути коренем сховища, менше дублювати таким чином;
  • Виберіть TortoiseSVN -> " Відділення / тег ... ";
  • Встановити URL : "svn: // хост / сховище / FooBar / відділення / FooBarBranchName";
  • Переконайтесь, що вибрано [*] Робочу копію . Це забезпечить внесення змін;
  • Повідомлення журналу : "Експериментуйте з мухами :)";
  • Необов’язково: Поставте галочку [*] Переключити робочу копію на нову гілку / тег . Це корисно, якщо ви плануєте продовжувати працювати над новою галуззю. Хоча ви також можете перейти на нього пізніше.
  • Спробуйте знайти кнопку ОК . Підказка: вона розташована в нижній частині вікна по центру.

Насолоджуйтесь!


Що ви маєте на увазі під "не повинно бути коренем сховища, менше дублювати таким чином"?
thezakzak

Я рекомендую не вибирати кореневу папку з усіма невідповідними папками, які не підлягають зміні у гілці. Пізніше буде легше злити (меншу) гілку назад до стовбура.
Дж. Поллак

У моєму випадку введення лише цієї папки спричинило проблеми, оскільки програмне забезпечення також залежить від суперпапок. Я думаю, що це найчастіше так. Я думаю, що для більшості випадків використання краще просто зробити цілу справу, тому рекомендується виконувати завдання з кореня.
ikku100

@ ikku100, якщо в цих надпапках не буде змін, як це буде мати значення?
simpleuser

Це може бути через те, що згодом люди можуть вносити зміни там, але, мабуть, ви можете перевірити правильність перегляду суперпапки, а потім перевірити відділення для папки. Я думаю, що це більше роботи, ніж просто вчинення супердіру.
ikku100

8

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

Команди є svn copyіsvn switch

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.