Создать ветку SVN из существующей ветки Git - PullRequest
4 голосов
/ 11 марта 2011

Я клонировал существующий проект SVN через git svn clone без проблем до сих пор, но в то же время я создал ветку только в Git (не в SVN), и теперь я хотел бы синхронизировать эту ветку с Филиал СВН (не ствол).

Я создал ветку некоторое время назад. Можно ли вернуть информацию, хранящуюся в этой ветке Git, в SVN?

1 Ответ

5 голосов
/ 11 марта 2011

Вы можете создать новую ветку в Subversion, используя git svn branch.Возможно, вы захотите посмотреть пример в этом ответе:

ВВ частности, хорошим советом в связанном руководстве является использование опции --dry-run для svn dcommit, чтобы проверить, что при запуске команды по-настоящему она будет перемещаться в правую ветвь.

ProGit book имеет более четкое описание того, как git svn dcommit решает, какую ветку svn обновить.Мне кажется, что вы должны:

  • Создать новую ветку SVN, используя git svn branch new-experiment
  • Создать локальную ветку для отслеживания remotes/new-experiment с git checkout --track -b new-experiment remotes/new-experiment
  • Перенесите изменения из вашей старой ветки git theme (предположим, что она называется experiment) на new-experiment:

     git checkout experiment
     git branch original-experiment
     git rebase new-experiment
     git checkout new-experiment
     git merge experiment
    
  • Попробуйте git svn dcommit --dry-run, чтобы проверить правильность подрывной деятельностиветка будет обновлена ​​
  • Если это так, сделайте git svn dcommit
...