Guía técnica para migrar repositorios Git a SHA-256

Fuentes: Technical guide for migrating Git repos to SHA-256

La migración de repositorios Git al nuevo formato de objetos SHA-256, disponible desde la versión 2.42, requiere un procedimiento específico debido a la falta de documentación oficial en el manual de Git. Este artículo técnico detalla los pasos necesarios para realizar esta transición, destacando que, aunque SHA-256 ofrece ventajas como la mayor longitud de los identificadores de objetos, no proporciona beneficios de seguridad reales frente a SHA-1dc y puede generar incompatibilidades con herramientas de terceros y plataformas como GitHub.

El proceso principal implica el uso de los comandos git fast-export y git fast-import para transferir los objetos entre repositorios. El texto explica que la migración es viable solo en repositorios sin submódulos, ya que la gestión de submódulos en el nuevo formato es compleja y requiere el uso de opciones específicas como --rewrite-submodules-from y --rewrite-submodules-to para reconstruir las marcas de objetos. Se proporcionan ejemplos prácticos de cómo ejecutar estos comandos, incluyendo la exportación de marcas y la importación en repositorios nuevos inicializados con el formato SHA-256.

Además, el artículo aborda la migración en plataformas de código como Forgejo, donde se describe un método para actualizar el formato de objetos en la base de datos sin perder datos de issues, wikis o pull requests. Se incluye también una guía para re-firmar los commits existentes utilizando GPG, aunque se advierte sobre los riesgos de modificar el historial completo, especialmente en repositorios con submódulos. Esta guía sirve como referencia para administradores de sistemas y desarrolladores que necesitan actualizar sus infraestructuras de control de versiones.