Nuestra estructura SVN actual se parece a esto:SVN para git: ¿Cómo lidiar con nuestra no-estándar, probablemente ramificado erróneamente 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
-- ...
Para hacer las cosas peor fue ramificado proyecto-1.0 del proyecto projectDao-1,0 de projectDao (cada uno en movimientos separados se compromete). Idealmente hubiera sido así.
Este es el registro de confirmación:
trunk
-- project
-- projectDao
-- projectResources
branches
-- 1.0
---- project
---- projectDao
---- projectResources
-- 2.0
---- project
---- projectDao
---- projectResources
tags
--1.0.0
----project
---- ...
Y esta es la manera que tiene sentido. Y entonces deberíamos haber ramificado desde trunk hasta 1.0 en lugar de 2 commits diferentes.
Sin embargo, queremos cambiar a git ahora (de forma permanente) y no sé cómo debería comenzar con esto.
Realmente no entiendo cómo debería hacer esto. Cuando acabo de clonar mi repositorio con el diseño estándar obtengo algo así.
* master
remotes/project-1.0
remotes/[email protected]
remotes/project-2.0
remotes/[email protected]
remotes/projectDao-1.0
remotes/[email protected]
remotes/projectDao-2.0
remotes/[email protected]
remotes/projectResources-1.0
remotes/[email protected]
remotes/projectResources-2.0
remotes/[email protected]
remotes/tags/project-1.0.0
remotes/tags/projectDao-1.0.0
remotes/tags/projectResources-1.0.0
remotes/trunk
Esto es lo que genera gitg
no sé cómo puedo usar rebase para obtener este derecho como:
* master
remotes/1.0
remotes/2.0
remotes/tags/1.0.0
remotes/trunk
Escriba "git branch -a" y publique el resultado completo de ese comando en su pregunta. – ralphtheninja
Parece que ha exportado e importado varias veces en git, ¿es así? Por ejemplo, el maestro parece ser un árbol secundario propio, también lo es el "verde", etc. – ralphtheninja