svn переходят фиксация - экспериментальная фиксация

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

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

11
задан quano 13 March 2010 в 23:00
поделиться

3 ответа

Это действительно так (по крайней мере, в Subversion). Например:

svn cp svn://server/repo/trunk svn://server/repo/branches/experiment
svn switch svn://server/repo/branches/experiment
svn commit -m "testing stuff"

Операция Subversion cp (копирование) спроектирована так, чтобы быть очень дешевой и фактически не делает копию всего кода в вашем репозитории снова. Он просто устанавливает указатели на ревизию, из которой вы скопировали в стволе .

Не все системы работают таким образом; например, в Git вы можете создать новую ветку и переключиться на нее с помощью одной команды: git checkout -b эксперимент .

14
ответ дан 3 December 2019 в 07:12
поделиться

Ветвь SVN не копирует весь код снова, она просто ссылается на оригинал и добавляет различие вашего нового кода. Еще одна хорошая вещь ветки - это то, что вы всегда можете объединить или синхронизировать ее с исходным кодом. Ветвь - это просто еще одна папка в репозитории SVN, такая как теги или ствол.

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

Вы можете найти команды и дополнительную информацию о ветвях SVN в бесплатной книге SVN

2
ответ дан 3 December 2019 в 07:12
поделиться

AFAIK большинство клиентов SVN с графическим интерфейсом (например, Tortoise, Subclipse, SvnX имеют команду ветвления, которая творит за вас волшебство.

В противном случае см. Ответ Грега. .

1
ответ дан 3 December 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: