Planeo una reescritura completa de mi proyecto, usando otro marco, etc. Sería bueno mantener el código antiguo, incluido el historial, como referencia. ¿Cuál es la mejor manera de hacer esto, para evitar riesgos, confusión y sorpresas?
Mi idea es crear una nueva rama, reemplazar allí todo y obtener una versión "nueva" básica que se ejecute allí, etiquetar el último maestro "antiguo" y luego fusionar la rama con el maestro. ¿Suena esto razonable?
Respuestas:
Voto por mantener todo en un único repositorio.
Me gustaría:
Así es como:
Aparte: también puede hacer una etiqueta del antiguo código heredado, si sabe que nunca querrá agregar ninguna confirmación.
Cuándo debería crear un nuevo repositorio en lugar de hacer esto:
fuente
A menos que haya una razón apremiante para fusionar la reescritura y las ramas históricas, las mantendría separadas. Cree una nueva rama para mantener el código antiguo, vuelva a escribir en master y manténgalos separados de esa manera. De esa manera, siempre puede trabajar con el antiguo marco / implementación si la situación cambia.
fuente
Para eso están las ramas huérfanas.
Es posible que deba configurar
new_branch
temporalmente la rama predeterminada en Github, ya que muestra maestra de forma predeterminada.fuente
Puede crear una nueva rama en el proyecto actual, pero puede ser mejor marcar el repositorio como privado y luego crear uno nuevo para su nuevo código, de esa manera todavía tiene el antiguo repositorio pero no hay hinchazón por el trabajo obsoleto.
Le sugiero que adopte este enfoque en lugar de tratar de fusionar más tarde la rama de nuevo a maestro no solo porque todavía tendrá esa hinchazón del código obsoleto, sino también porque puede haber varios conflictos de fusión frustrantes para cuando esté listo para haz el tirón. Para evitar eso, sería mejor comenzar con una rama clara en lugar de fusionar dos completamente diferentes.
fuente