Skip to main content

Compatibilidad con la migración para GitHub Enterprise Importer

GitHub Enterprise Importer realiza la migración de una variedad de datos a GitHub desde nuestros orígenes admitidos.

Acerca de la compatibilidad con la migración para GitHub Enterprise Importer

GitHub Enterprise Importer puede migrar a GitHub Enterprise Cloud desde cualquiera de nuestros orígenes de migración admitidos. Los datos incluidos en cada migración dependen del origen.

GitHub Enterprise Importer admite migraciones a GitHub Enterprise Cloud desde los orígenes siguientes.

  • Nube de Azure DevOps (ADO)
  • Bitbucket Server y Bitbucket Data Center 5.14+
  • GitHub.com
  • GitHub Enterprise Server (GHES) 3.4.1+

Durante la versión beta, existen limitaciones conocidas para Importer que se aplican a todos los orígenes.

Compatibilidad con la migración a Azure DevOps

Si el origen de la migración es Azure DevOps, puedes migrar repositorios.

Solo puedes usar GitHub Enterprise Importer para migrar desde Azure DevOps Cloud, no desde Azure DevOps Server. Si actualmente usas Azure DevOps Server y quieres realizar la migración a GitHub, puedes hacerlo primero a Azure DevOps Cloud. Para más información, consulta Migración a Azure DevOps en el sitio de Azure.

Actualmente solo se admite la migración de los siguientes datos de repositorio de Azure DevOps a GitHub Enterprise Cloud.

  • Origen de Git (incluido el historial de confirmaciones)
  • Solicitudes de incorporación de cambios
  • Historial de usuarios para solicitudes de incorporación de cambios
  • Vínculos de elementos de trabajo en solicitudes de incorporación de cambios
  • Datos adjuntos en solicitudes de incorporación de cambios
  • Protecciones de rama para el repositorio (no se incluyen protecciones de rama con ámbito de usuario)

Si quiere migrar Azure Pipelines a GitHub Actions, ponte en contacto con el administrador de cuentas de GitHub.

Compatibilidad con la migración a Bitbucket Server

Las migraciones de Bitbucket Server solo se admiten para Bitbucket Server o Bitbucket Data Center versión 5.14 o posterior.

Si el origen de la migración es Bitbucket Server, puedes migrar repositorios. Actualmente solo se admite la migración de los siguientes datos de repositorio de Bitbucket Server a GitHub Enterprise Cloud.

  • Origen de Git (incluido el historial de confirmaciones)
  • Solicitudes de incorporación de cambios (como comentarios, revisiones de solicitudes de incorporación de cambios, comentarios de revisión de solicitudes de incorporación de cambios en el nivel de archivo y línea, revisores necesarios y datos adjuntos)

Actualmente, no se migran los datos siguientes.

  • Repositorios personales propiedad de los usuarios
  • Permisos de rama
  • Comentarios sobre confirmación de cambios
  • Configuración del repositorio

GitHub Enterprise Importer no migra canalizaciones de CI desde Bitbucket Server.

Compatibilidad con la migración de GitHub.com

Si el origen de la migración es GitHub.com, puedes migrar repositorios individuales o organizaciones enteras.

Al migrar una organización, se crea una dentro de la cuenta empresarial de destino. Después, se migran los datos siguientes a la nueva organización.

  • Teams
  • Repositorios
  • Acceso de equipo a los repositorios
  • Privilegios de miembro
  • Webhooks de nivel de organización
  • Nombre de rama predeterminado para los repositorios creados en la organización

Todos los repositorios se migran con visibilidad privada. Si quieres establecer la visibilidad de un repositorio en público o interno, puedes hacerlo después de la migración mediante la interfaz de usuario o la API.

No se migra la pertenencia a equipos. Después de la migración, tendrás que agregar miembros a los equipos migrados. Para obtener más información, vea «Migración entre productos de GitHub con GitHub Enterprise Importer».

Nota: Las referencias a equipos, como @octo-org/octo-team, no se actualizan como parte de una migración de la organización. Esto podría causar problemas en la organización de destino, como que los archivos CODEOWNERS no funcionen según lo previsto. Para más información sobre cómo evitar y resolver estas incidencias, consulta "Solución de problemas de la migración con GitHub Enterprise Importer".

Al migrar un repositorio, ya sea directamente o como parte de una migración de la organización, solo se migran los datos siguientes.

  • Origen de Git (incluido el historial de confirmaciones)
  • Solicitudes de incorporación de cambios
  • Issues
  • Hitos
  • Wikis
  • Proyectos (clásicos) en el nivel de repositorio
  • Flujos de trabajo de GitHub Actions
  • Comentarios sobre confirmación de cambios
  • Webhooks activos
  • Temas del repositorio
  • Configuración del repositorio
    • Protecciones de rama (consulta "Protecciones de rama" para más información)
    • Configuración de GitHub Pages
    • Referencias de vínculos automáticos
    • Configuración de GitHub Advanced Security
    • Configuración de solicitudes de incorporación de cambios
      • Eliminar automáticamente ramas principales
      • Permitir combinación automática
      • Permitir confirmaciones de combinación (la configuración del mensaje de confirmación se restablece al mensaje predeterminado)
      • Permitir fusión mediante combinación con "squash" (la configuración del mensaje de confirmación se restablece al mensaje predeterminado)
      • Permitir fusión mediante cambio de base
  • Versiones (hasta 10 GB por repositorio)
  • Historial de usuarios de los datos anteriores

Actualmente, no se migran los datos siguientes.

  • Cualquier instancia de Projects (beta) (la nueva experiencia de proyectos)
  • Code scanning results
  • Confirmación de las comprobaciones de estado
  • Alertas de Dependabot
  • Secretos de Dependabot
  • Debates en el nivel de repositorio
  • Editar historial de comentarios sobre incidencias y solicitudes de incorporación de cambios
  • Relaciones de bifurcación entre repositorios (consulta "Acerca de las bifurcaciones")
  • GitHub Actions secretos, variables, ambientes, ejecutores autohospedados, ejecutor más grandes o historial de ejecución de flujo de trabajo
  • Secretos de GitHub Codespaces
  • GitHub Apps e instalaciones de aplicaciones de GitHub
  • Los objetos de Git LFS y los archivos binarios grandes (los repositorios que usan Git LFS siguen siendo compatibles, consulta "Limitaciones de GitHub Enterprise Importer")
  • Paquetes en GitHub Packages
  • Proyectos (clásicos) en el nivel de organización
  • Referencias entre las solicitudes de incorporación de cambios y los problemas en los distintos repositorios (consulta "Referencias y direcciones URL autovinculadas")
  • Estados de corrección de los resultados de secret scanning
  • Repositorios propiedad de cuentas de usuario
  • Propiedades del repositorio (beta pública)
  • Estrellas del repositorio
  • Observadores del repositorio
  • Conjuntos de reglas
  • Reglas de protección de etiquetas
  • Perfiles de los usuarios, claves SSH, claves de firma o personal access tokens
  • Secretos de webhook
  • Acceso de usuario al repositorio

Al migrar un repositorio directamente, no se migran los equipos ni el acceso de equipo a los repositorios.

Protecciones de rama

Las protecciones de rama aplican un conjunto especificado de reglas a un nombre de rama concreto o patrón de nombre de rama. Para obtener más información, vea «Acerca de las ramas protegidas».

Las protecciones de rama siempre se migrarán, pero algunas reglas no. Las siguientes reglas de protección de rama no se migran.

  • Permitir que actores específicos omitan las solicitudes de incorporación de cambios necesarias
  • Exigir aprobación de la inserción más reciente
  • Implementaciones correctas obligatorias antes de la combinación
  • Bloqueo de una rama
  • Restricción de inserciones que crean ramas coincidentes
  • Permitir las subidas forzadas

También se aplican las siguientes limitaciones:

  • Si una regla de protección de rama permite especificar opcionalmente personas, equipos o aplicaciones que están exentas de la regla, como "Restringir quién puede descartar las revisiones de solicitudes de incorporación de cambios", las excepciones no se migrarán.
  • Si la regla "Permitir inserciones forzadas" está habilitada en el modo "Especificar quién puede forzar la inserción", la regla no se migrará.

Compatibilidad con la migración de GitHub Enterprise Server

Si el origen de la migración es GitHub Enterprise Server, puedes migrar repositorios.

Para realizar la migración desde GitHub Enterprise Server (GHES), debes tener la versión 3.4.1 o superior de GHES.

ElementoGHES 3.4.1+GHES 3.5.0+
Origen de Git (incluido el historial de confirmaciones)XX
Solicitudes de incorporación de cambiosXX
IssuesXX
HitosXX
WikisXX
Proyectos (clásicos) en el nivel de repositorioXX
Flujos de trabajo de GitHub ActionsXX
Comentarios sobre confirmación de cambiosXX
Webhooks activosXX
Protecciones de ramaXX
Configuración de GitHub PagesXX
Historial de usuarios de los datos anterioresXX
Versiones
X

Se aplican distintos límites de tamaño por repositorio en función de la versión de GHES.

LímiteGHES <3.8.0GHES 3.8.0+
Origen de Git2 GB10 GB
Metadatos2 GB10 GB

Actualmente, no se migran los datos siguientes.

  • Cualquier instancia de Projects (beta) (la nueva experiencia de proyectos)
  • Code scanning results
  • Confirmación de las comprobaciones de estado
  • Alertas de Dependabot
  • Secretos de Dependabot
  • Debates en el nivel de repositorio
  • Editar historial de comentarios sobre incidencias y solicitudes de incorporación de cambios
  • Relaciones de bifurcación entre repositorios (consulta "Acerca de las bifurcaciones")
  • GitHub Actions secretos, variables, ambientes, ejecutores autohospedados, ejecutor más grandes o historial de ejecución de flujo de trabajo
  • Secretos de GitHub Codespaces
  • GitHub Apps e instalaciones de aplicaciones de GitHub
  • Los objetos de Git LFS y los archivos binarios grandes (los repositorios que usan Git LFS siguen siendo compatibles, consulta "Limitaciones de GitHub Enterprise Importer")
  • Paquetes en GitHub Packages
  • Proyectos (clásicos) en el nivel de organización
  • Referencias entre las solicitudes de incorporación de cambios y los problemas en los distintos repositorios (consulta "Referencias y direcciones URL autovinculadas")
  • Estados de corrección de los resultados de secret scanning
  • Repositorios propiedad de cuentas de usuario
  • Propiedades del repositorio (beta pública)
  • Estrellas del repositorio
  • Observadores del repositorio
  • Conjuntos de reglas
  • Reglas de protección de etiquetas
  • Perfiles de los usuarios, claves SSH, claves de firma o personal access tokens
  • Secretos de webhook
  • Teams
  • Acceso de usuario o equipo al repositorio
  • Configuración del repositorio para solicitudes de incorporación de cambios

Limitaciones

Hay límites con respecto a lo que GitHub Enterprise Importer puede migrar. Algunos se deben a limitaciones de GitHub.com, mientras que otras son limitaciones propias de GitHub Enterprise Importer.

Limitaciones de GitHub.com

  • Límite de tamaño de 2 GB para una única confirmación de Git: ninguna confirmación en el repositorio de Git puede ser superior a 2 GB. Si alguna de las confirmaciones es superior a 2 GB, tendrás que dividirla en confirmaciones más pequeñas, cada una de 2 GB o menos.
  • Límite de 255 bytes para las referencias de Git: ninguna referencia de Git, conocida normalmente como "ref", puede tener un nombre de más de 255 bytes. Normalmente, esto significa que las referencias no pueden tener más de 255 caracteres, pero cualquier carácter no ASCII, como los emojis, puede consumir más de un byte. Si alguna de las referencias de Git es demasiado grande, se devolverá un mensaje de error claro.
  • Límite de tamaño de archivo de 100 MB: ningún archivo en el repositorio de Git puede ser superior a 100 MB. Considera la posibilidad de usar Git LFS para almacenar archivos grandes. Para obtener más información, vea «Administrar archivos grandes».

Limitaciones de GitHub Enterprise Importer

  • Límite de tamaño de 10 GB para un repositorio de Git: este límite solo se aplica al código fuente. Para inspeccionar el tamaño del repositorio, usa la herramienta git-sizer y comprueba el tamaño total de los blobs.
  • Límite de 10 GB para metadatos: Importer no puede migrar repositorios con más de 10 GB de metadatos. Los metadatos incluyen incidencias, solicitudes de incorporación de cambios, versiones y datos adjuntos. En la mayoría de los casos, los metadatos grandes se deben a los recursos binarios asociados a las versiones. Puedes excluir las versiones de la migración con la marca migrate-repo del comando --skip-releases y, después, mover las versiones manualmente después de la migración.
  • Objetos de Git LFS no migrados: Importer puede migrar repositorios que usan Git LFS, pero los propios objetos LFS no se migrarán. Se pueden insertar en el destino de la migración como una tarea de seguimiento una vez que se complete la migración. Para obtener más información, vea «Duplicar un repositorio».
  • Tareas de seguimiento necesarias: al realizar la migración entre productos de GitHub, determinadas configuraciones no se migran y se deben volver a configurar en el nuevo repositorio. Para obtener una lista de las tareas de seguimiento que necesitarás completar después de cada migración, consulta "Migración entre productos de GitHub con GitHub Enterprise Importer".
  • Funcionalidad de búsqueda de código retrasada: volver a indexar el índice de búsqueda puede tardar unas horas después de migrar un repositorio y las búsquedas de código pueden devolver resultados inesperados hasta que se complete la nueva indexación.
  • Los conjuntos de reglas configurados para la organización pueden provocar errores en las migraciones: por ejemplo, si has configurado una regla que requiere que las direcciones de correo electrónico de los creadores de confirmaciones terminen en @monalisa.caty el repositorio que vas a migrar contiene confirmaciones que no cumplen esta regla, se producirá un error en la migración. Para obtener más información sobre los conjuntos de reglas, consulta "Acerca de los conjuntos de reglas".