2015-02-09 2 views
0

Я перенес проект моей группы из SVN в github с помощью git-svn. История была сохранена правильно, но ветви SVN были зафиксированы в каталоге верхнего уровня мастера вместо git-ветвей. До слияния эти ветки синхронизировались с «багажником».Git Branches после миграции SVN

Так структура каталогов GitHub выглядит следующим образом:

trunk/ 
branches/ 
     *branch1 
     *branch2 
     etc. 

Я хотел бы, чтобы переместить каждый из вложенных папок в папке филиала в свою мерзавца ветви, а затем удалить их из мастера. Но я не уверен, что мне нужно создать ветвь сама по себе, а затем объединить папку и удалить ее? Или перебазироваться с мастером?

Первоначально команда, которую я использовал, чтобы перенести хранилище было:

git svn clone --stdlayout --no-metadata --authors-file=users.txt svn://path/to/my/SVN 

Но это по-прежнему не получает ветви правильно. Кто-нибудь сможет мне помочь с этой проблемой? Спасибо.

ответ

1

Используйте -s/--stdlayout вариант при выполнении git svn init или clone, например.

git svn clone -s <path to the svn folder containing trunk and branches> 

таким образом ГИТ-SVN распознает ствол как ведущие и вашу Svn ветвь как GIT ветвь.

+0

Привет! Спасибо за ваш ответ ... команда, которую я использовал, была: git svn clone --stdlayout --no-metadata --authors-file = users.txt svn: // hostname/path dest_dir-tmp Но, он все еще не работает. Я просто надеюсь на этот момент работать с тем, что уже в git, и просто переместить папки в ветки. Это возможно? – cooper

+0

Если вам нравится хорошая история, вы можете захотеть, чтобы «git svn clone» импортировал ваш проект должным образом. В противном случае вы можете дать [git поддерево] (https://www.mankier.com/1/git-subtree) попробовать: 'git subtree split --prefix = branch/branch1 -b branch1', похоже, близко к тому, что вы нужно, но, похоже, не сохраняет историю. –

 Смежные вопросы

  • Нет связанных вопросов^_^