Наша текущая структура SVN выглядит следующим образом:
trunk
-- project
-- projectDao
-- projectResources
branches
-- project-1.0
-- projectDao-1.0
-- projectResources-1.0
-- project-2.0
-- projectDao-2.0
-- projectResources-2.0
tags
-- project-1.0.0
-- ...
Что еще хуже, Project-1.0 был отделен от проекта projectDao-1.0 от projectDao (каждый в отдельном коммите движения фиксирует).В идеале это было бы так.
Это журнал коммитов:
trunk
-- project
-- projectDao
-- projectResources
branches
-- 1.0
---- project
---- projectDao
---- projectResources
-- 2.0
---- project
---- projectDao
---- projectResources
tags
--1.0.0
----project
---- ...
И это имеет смысл.И тогда мы должны были перейти от транка к 1.0 вместо двух разных коммитов.
Однако мы хотим перейти на git сейчас (навсегда), и я не знаю, как мне начать с этого.
Я не совсем понимаю, как мне это сделать.Когда я просто клонирую свой репозиторий со стандартным макетом, я получаю что-то такое.
* master
remotes/project-1.0
remotes/project-1.0@3
remotes/project-2.0
remotes/project-2.0@10
remotes/projectDao-1.0
remotes/projectDao-1.0@4
remotes/projectDao-2.0
remotes/projectDao-2.0@11
remotes/projectResources-1.0
remotes/projectResources-1.0@5
remotes/projectResources-2.0
remotes/projectResources-2.0@12
remotes/tags/project-1.0.0
remotes/tags/projectDao-1.0.0
remotes/tags/projectResources-1.0.0
remotes/trunk
Это то, что генерирует gitg
Я не знаю, как я могу использовать rebase, чтобы получить это право, например:
* master
remotes/1.0
remotes/2.0
remotes/tags/1.0.0
remotes/trunk