Я прошу прощения, если этот вопрос был задан ранее, но мой случай является относительно конкретным.Я был в моей компании в течение некоторого времени и использовал SVN, но недавно захотел перейти на Git по разным причинам.
У меня сейчас проблема в том, что моя компания использует нестандартную структуру ветвленияи, к сожалению, в прошлом это даже не было непротиворечивой нестандартной структурой ветвления.
История, с которой я знаком, начиная с присоединения к компании, заключается в том, что мы используем одну основную магистральветка, из которой мы создаем ветки релизов и ветки функцийОднако структура этих ветвей не просто стандартная структура соединительных линий / веток / тегов.У нас есть несколько подпапок для разных типов веток.Например, ветки релиза идут в branch_release, функциональные ветки в branch_feature и т. Д., Например:
branches_feature/featureA
branches_release/2.0
Я выяснил, как заставить этот клон / выборку работать должным образом, изменив конфигурацию репозитория Git так, чтобы
branches = {branches_feature,branches_release}/*:refs/remotes/branches/*
Это было относительно успешно при извлечении соответствующих веток.Единственная проблема, с которой я столкнулся, это то, что, когда моя компания только начинала, она использовала структуру, похожую на:
branches_feature/username/branchname
К сожалению, чтобы выяснить это (трудный путь), мне пришлось "git svn fetch" иобнаружим, что все эти ветки в соответствии с более старым соглашением о ветвлениях были свернуты, так что в Git у каждого пользователя есть одна ветвь, в которой существует каждая созданная ветвь.Итак,
branches_feature/username/featureA
branches_feature/username/featureB
были свернуты в:
branches_feature/username
Очевидно, этого недостаточно для правильно воспроизведенной истории репозитория SVN, но я не уверен, как изменить ветку конфига в конфигурациичтобы инкапсулировать все эти ветви и все еще правильно использовать новый формат ветвления.Я пытался манипулировать им различными способами, но я получаю либо ошибки, либо просто неудачу в моих попытках.
Если кто-то может предложить хороший способ надлежащим образом сохранить историю репозитория SVN при импорте изSVN Git, я был бы очень признателен.
Спасибо.