Я знаю, что на этот вопрос был дан ответ некоторое время назад, но после прочтения я могу помочь добавить примеры конкретной команды git svn branch и связать ее с типичным рабочим процессом.
Вроде кч ответил, пользуйся git svn branch
. Вот полный пример (обратите внимание на -n
пробный запуск):
git svn branch -n -m "Branch for authentication bug" auth_bug
Если все идет хорошо, сервер отвечает следующим образом:
Копирование https://scm-server.com/svn/portal/trunk по адресу r8914 в https://scm-server.com/svn/portal/branches/auth_bug ...
А без -n
коммутатора сервер, вероятно, добавляет что-то вроде:
Найдена возможная точка ветвления: https://scm-server.com/svn/portal/trunk => https://scm-server.com/portal/branches/auth_bug , 8914
Найден родительский филиал: (refs / remotes / auth_bug)
d731b1fa028d30d685fe260f5bb912cbf59e1971
Следующий родитель с do_switch
Успешно прослеженный родитель r8915 = 6ed10c57afcec62e9077fbeed74a326eaa4863b8
(Ссылки / пультов ДУ / auth_bug)
Лучшая часть этого, теперь вы можете создать локальную ветку на основе вашей удаленной ветки следующим образом:
git checkout -b local/auth_bug auth_bug
Что означает «проверить и создать локальную ветвь с именем auth_bug
и заставить ее следовать за удаленной веткой (последний параметр)auth_bug
Проверьте, что ваша локальная ветвь работает в этой удаленной ветке, используя dcommit
with --dry-run
( -n
):
git svn dcommit -n
И сервер SVN должен ответить с новым именем ветви:
Обязательство https://scm-server.com/svn/portal/branches/auth_bug ...