Cómo migrar repositorios de Azure DevOps a GitHub: Guía Completa

Última actualización: julio 11, 2026
Autor: Pixelado
  • Uso de GitHub Enterprise Importer (GEI) para trasladar código, pull requests y directivas de rama.
  • Alternativas mediante el Importador de GitHub y comandos de Git para migraciones más sencillas.
  • Estrategias de conversión de Azure Pipelines a GitHub Actions y gestión de artefactos.
  • Planificación de la estructura organizativa y gestión de permisos post-migración.

Migración de Azure DevOps a GitHub

Mudar todo el ecosistema de desarrollo de una plataforma a otra puede parecer un auténtico quebradero de cabeza, pero si tienes las herramientas adecuadas y un buen plan, la verdad es que está chupado. Cuando decides saltar de Azure DevOps a GitHub, no solo te llevas el código, sino que buscas optimizar la colaboración y aprovechar el ecosistema de Actions.

Para que el proceso no se convierta en un caos, es fundamental entender que existen distintos caminos según tus necesidades. Desde soluciones automáticas para empresas hasta métodos manuales muy rápidos, lo importante es saber qué datos quieres conservar y cuáles puedes dejar atrás para no complicarte la vida.

Planificación y Análisis Previo

Antes de lanzar cualquier comando, lo ideal es sentarse a pensar en el cronograma. Para no dar palos de ciego, te recomendamos hacer un inventario detallado. Puedes usar el comando inventory-report de la extensión ADO2GH de la CLI de GitHub, que te generará archivos CSV con el número de repositorios y las solicitudes de incorporación de cambios pendientes.

Una vez tengas los datos, decide si vas a hacer un movimiento masivo de todos los repos o si prefieres ir por lotes. Si tienes equipos que no pueden permitirse detener su flujo de trabajo, escalonar las migraciones es la mejor opción. Además, debes diseñar la nueva estructura en GitHub; recuerda que cada organización de ADO debería traducirse, generalmente, en una sola organización de GitHub para mantener el orden.

microsoft para desarrolladores java
Related article:
Microsoft para desarrolladores Java: guía completa de herramientas y Azure

Métodos de Migración de Repositorios

Si trabajas en un entorno corporativo y necesitas migrar desde Azure DevOps Cloud hacia GitHub Enterprise Cloud, la herramienta estrella es el GitHub Enterprise Importer (GEI). Esta joya no solo mueve el código y el historial, sino que también traslada las pull requests, los vínculos a elementos de trabajo y las directivas de rama.

  Cómo poner la arroba en cualquier dispositivo: guía total

Para ponerlo en marcha, primero debes instalar la extensión gh extension install github/gh-gei y autenticarte tanto en Azure DevOps como en GitHub. Si tienes que mover muchos repos a la vez, lo más inteligente es ejecutar gh gei generate-script para crear un guion de migración automatizado que puedas revisar y editar antes de lanzarlo.

Si buscas algo mucho más ligero y no te importa perder las pull requests o las directivas, el GitHub Importer integrado en la web es la vía rápida. Solo tienes que crear un repositorio nuevo, elegir la opción de importar y pegar la URL de clonación de Azure DevOps. Es la opción más sencilla para quienes no quieren tocar la terminal.

Para los más puristas de la consola, siempre existe el método de clonado espejo. Haciendo un git clone --bare del repositorio de origen y luego un git push --mirror hacia el nuevo destino en GitHub, aseguras que todo el historial y las ramas se desplacen intactas, aunque sin los metadatos de la plataforma.

Limitaciones y Cuellos de Botella

No todo es color de rosa y hay límites que debes conocer para no llevarte sustos. Por ejemplo, GitHub no acepta confirmaciones individuales superiores a 2 GiB. Si tienes algún commit monstruoso, tendrás que dividirlo en trozos más pequeños antes de intentar la migración.

En cuanto a los archivos, el límite estándar es de 100 MiB, aunque durante la importación sube a 400 MiB. Si tienes archivos gigantes, la solución es implementar Git LFS. Ojo, que el GEI migra los repositorios que usan LFS, pero los objetos LFS no se mueven solos; tendrás que trasladarlos manualmente como un paso posterior.

  Switch administrable: tipos, funciones y diferencias con switches no gestionables

También es posible que encuentres problemas con los conjuntos de reglas de la organización. Si tienes reglas estrictas sobre los correos electrónicos de los autores de los commits y los datos de ADO no coinciden, la migración fallará. Para evitar sorpresas en producción, es muy recomendable hacer una ejecución de prueba en una organización sandbox.

Migración de Pipelines, Wikis y Artefactos

Pasar de Azure Pipelines a GitHub Actions no se hace con un simple clic, pero el Actions GitHub Importer automatiza gran parte de la conversión. Primero debes realizar una auditoría con gh actions-importer audit azure-devops y luego convertir cada canalización específica. Ten en cuenta que conceptos como los grupos de agentes de Azure se traducen en etiquetas de ejecutor en GitHub.

Para las Wikis, el proceso es más manual pero directo. Como las wikis de Azure DevOps son repositorios Git, puedes clonarlas localmente y luego hacer un push hacia la wiki de GitHub. Si la documentación es muy extensa, considera usar GitHub Pages con generadores como Jekyll para un acabado más profesional.

En el caso de los artefactos, GitHub Packages es la alternativa para NuGet, npm y Maven. El flujo consiste en descargar los paquetes actuales de Azure Artifacts y volver a publicarlos en el nuevo registro de GitHub, reconfigurando la fuente del paquete en tu entorno de desarrollo.

Gestión de Work Items y Post-Migración

Aquí es donde la cosa se pone difícil, ya que no hay una herramienta oficial para pasar Azure Boards a GitHub Issues. Tendrás que recurrir a herramientas de la comunidad, exportaciones manuales mediante CSV o crear tus propios scripts consumiendo las APIs REST de ambas plataformas para no perder la trazabilidad de tus tareas.

  Perplexity y su ecosistema de IA: búsqueda con cerebro

Respecto a los permisos, el GEI no los migra automáticamente porque los modelos de acceso son distintos. Sin embargo, crea dos equipos por proyecto: uno de Mantenedores y otro de Administradores. Solo tendrás que añadir a los usuarios a estos equipos o vincularlos con grupos de Azure Active Directory.

Para cerrar el proceso, no olvides revisar que los flujos de CI/CD funcionen, que la wiki se lea correctamente y que todos los enlaces externos apunten ahora a GitHub. Es un buen detalle dejar un aviso en el README del proyecto antiguo en Azure DevOps para que nadie se pierda y todos sepan que el código ahora vive en su nueva casa.

Mover tu infraestructura de Azure DevOps a GitHub implica coordinar la migración de código, la conversión de flujos de trabajo y el traslado de documentación y paquetes, apoyándose en herramientas como GEI o la CLI de GitHub para minimizar errores y asegurar que el historial de desarrollo permanezca intacto mientras se adaptan los permisos y la organización al modelo de GitHub.