Git: dos compromisos iniciales

Tengo un proyecto que recientemente comenzó a usar el control de versiones.
Hay un bash anterior en este proyecto con un código completamente diferente, que quiero agregar al control de versiones para la posteridad, pero que no es ni un ancestro ni un descendiente de la confirmación inicial de la twig master actual.

Deseo crear una nueva twig paralela para esto sin historia previa (es decir, tener múltiples "confirmaciones iniciales". ¿Es esto posible con Git sin tener que crear un segundo repository? El tree de confirmación se vería así:

 o---o---o master \ o---o branch o old implementation 

Tal que simplemente puedo usar git checkout old para acceder al código. El recolector de basura no debe limpiarlo después de 90 días y, opcionalmente, puede labelrse.

git checkout tiene una opción para tal caso de uso: --orphan .

Del manual de Git:

--orphan <new_branch>

Cree una nueva sucursal huérfana, denominada <new_branch> , iniciada desde <start_point> y cambie a ella. El primer compromiso realizado en esta nueva twig no tendrá padres y será la raíz de una nueva historia totalmente desconectada de todas las otras twigs y compromisos.

Además, el hombre dice explícitamente:

Si desea iniciar un historial desconectado que registra un set de routes que es totalmente diferente al de, entonces debe borrar el índice y el tree de trabajo inmediatamente después de crear la twig huérfana ejecutando " git rm -rf . " desde el nivel superior del tree de trabajo.

Además de usar el método checkout --orphan , también puedes crear un repository separado en tu otra base de código, hacer la confirmación inicial y luego enviarla al otro repository (o desde el otro repository de este)

 cd old-code git init git add . git commit -m 'Initial commit of historical codebase' git push ../path/to/current/code/repository master:historical 

Después de eso, puedes eliminar el repository nuevamente ( rm -rf old-code/.git ) si no lo necesitas (pero no debería doler)

Necesita crear una twig huérfana:

 git checkout --orphan <branch>