Skip to main content

Transferir un repositorio

Puedes transferir repositorios a otros usuarios o cuentas de organización.

Acerca de las transferencias de repositorios

Cuando transfiere un repositorio a un propietario nuevo, este puede administrar de inmediato los contenidos, incidencias, solicitudes de incorporación de cambios, lanzamientos, projects (classic) y opciones. Al transferir un repositorio, también puedes cambiarle el nombre. Consulte "Renombrar un repositorio."

Los prerrequisitos para las transferencias de repositorio son:

  • Cuando transfieres un repositorio que te pertenece a otra cuenta personal, el dueño nuevo recibirá un correo electrónico de confirmación. El correo electrónico de confirmación incluye instrucciones para aceptar la transferencia. Si el propietario nuevo no acepta la transferencia en el transcurso de un día, la invitación caducará.
  • Para transferir un repositorio, debe tener acceso de administrador al repositorio.
  • Los repositorios de GitHub.com solo se pueden transferir a otros propietarios en GitHub.com.
  • Los repositorios no se pueden transferir a un empresa con usuarios administrados desde fuera de la empresa o viceversa.
  • Para transferirle un repositorio que te pertenece a una organización, debes tener permiso para crear un repositorio en la organización de destino.
  • La cuenta objetivo no debe tener un repositorio con el mismo nombre o una bifurcación en la misma red.
  • El propietario original del repositorio se agrega como colaborador en el repositorio transferido. El resto de los colaboradores del repositorio transferido permanecerá intacto.
  • No se pueden transferir repositorios únicos bifurcados desde una red de nivel superior privada.
  • Los repositorios internos solo se pueden transferir a una organización de la empresa. No se puede transferir un repositorio interno de una organización propiedad de una cuenta empresarial a una organización que pertenezca a otra cuenta empresarial.

Si transfiere un repositorio privado a una cuenta de usuario u organización de GitHub Free, el repositorio perderá acceso a características como ramas protegidas y GitHub Pages. Para más información, consulta "Planes de GitHub".

Si el repositorio transferido contiene una acción que aparece en GitHub Marketplace, o que tuviera más de 100 clones o más de 100 usos de GitHub Actions durante la semana anterior a la eliminación, GitHub retirará permanentemente el nombre del propietario y la combinación de nombres del repositorio (OWNER/REPOSITORY-NAME) al transferir el repositorio. Si intentas crear un repositorio mediante un nombre de propietario y una combinación de nombres de repositorio retirados, verás el error siguiente: "El repositorio REPOSITORY_NAME se ha retirado y no se puede reutilizar".

¿Qué se transfiere con un repositorio?

Cuando transfieres un repositorio, también se transfieren sus propuestas, solicitudes de extracción, wiki, estrellas y observadores. Si el repositorio transferido contiene webhooks, servicios, secretos, o llaves de implementación, estos permanecerán asociados después de que se complete la transferencia. Se conserva la información de Git acerca de las confirmaciones, incluidas las contribuciones. Además:

  • Si el repositorio transferido es una bifurcación, sigue asociado con el repositorio ascendente.

  • Si el repositorio transferido tiene alguna bifurcación, esas bifurcaciones seguirán asociadas al repositorio después de que se complete la transferencia.

  • Si el repositorio transferido utiliza Almacenamiento de archivos de gran tamaño de Git, todos Git LFS los objetos se mueven automáticamente. Esta transferencia ocurre en segundo plano, así que, si tienes una cantidad grande de objetos de Git LFS o si los mismos objetos de Git LFS son grandes, podría tomar algo de tiempo para que ocurra la transferencia. Antes de que transfieras un repositorio que utilice Git LFS, asegúrate de recibir una cuenta que tenga suficientes paquetes de datos para almacenar los objetos de Git LFS que vayas a migrar. Para más información sobre cómo agregar almacenamiento para cuentas personales, consulta "Subir de categoría Git Large File Storage".

  • Cuando se transfiere un repositorio entre dos cuentas personales, las asignaciones de incidencias se dejan intactas. Cuando transfieres un repositorio desde una cuenta personal a una organización, las incidencias asignadas a los miembros de la organización permanecen intactas y todos los demás asignatarios de incidencias se eliminan. Solo los propietarios de la organización están autorizados a crear asignaciones de propuestas nuevas. Cuando transfieres un repositorio desde una organización a una cuenta personal, solo se mantienen las incidencias asignadas al propietario del repositorio y se eliminan todos los demás asignatarios de incidencias.

  • Si el repositorio transferido contiene un sitio GitHub Pages, se redirigen los enlaces al repositorio de Git en la web y a través de la actividad de Git. Sin embargo, no redirigimos GitHub Pages asociadas al repositorio.

  • Todos los enlaces a la ubicación anterior del repositorio se redirigen de manera automática hacia la ubicación nueva. Al usar git clone, git fetch o git push en un repositorio transferido, estos comandos le redirigirán a la nueva ubicación o dirección URL del repositorio. Sin embargo, para evitar confusiones, es altamente recomendable actualizar cualquier clon local existente para que apunte a la nueva URL del repositorio. Puede hacerlo con git remote en la línea de comandos:

    git remote set-url origin NEW_URL
    

    Advertencia: si creas un repositorio o rama en la ubicación anterior del repositorio, se desactivarán las redirecciones al repositorio transferido. Se pueden reactivar si se cambia el nombre o se elimina el nuevo repositorio o rama.

  • Cuando transfieres un repositorio desde una organización a una cuenta personal, los colaboradores de solo lectura de este no se transferirán. Esto es porque los colaboradores no pueden tener acceso de solo lectura a los repositorios que pertenecen a una cuenta personal. Para más información sobre los niveles de permisos de repositorio, consulta "Niveles de permisos para un repositorio de una cuenta personal" y "Roles de repositorio para una organización".

  • Los patrocinadores que tengan acceso al repositorio a través de un nivel de patrocinio podrían verse afectados. Consulte "Administrar tus niveles de patrocinio."

  • Los paquetes asociados al repositorio se pueden transferir o pueden perder su vínculo al repositorio, en función del registro al que pertenezcan. Consulte "Acerca de los permisos para los Paquetes de GitHub".

Consulte "Administrar repositorios remotos".

Transferencias de repositorios y organizaciones

Para transferir repositorios a una organización, debes tener permisos de creación de repositorios en la organización receptora. Si los propietarios de la organización inhabilitaron la creación de repositorios para los miembros de la organización, solo los propietarios de la organización pueden transferir repositorios hacia fuera o dentro de la organización.

Una vez que se transfiere un repositorio a una organización, los parámetros de permiso del repositorio de la organización predeterminados y los privilegios de membresía predeterminados se aplicarán al repositorio transferido.

Transferir un repositorio que le pertenece a tu cuenta personal

Puedes transferir tu repositorio a cualquier cuenta personal que acepte la transferencia de tu repositorio. Cuando se transfiere un repositorio entre dos cuentas personales, el propietario del repositorio original y los colaboradores se agregan automáticamente como colaboradores al repositorio nuevo.

Si publicaste un sitio de GitHub Pages en un repositorio privado y agregaste un dominio personalizado, antes de transferir el repositorio, deberás eliminar o actualizar tus registros de DNS para evitar el riesgo de que alguien más tome el dominio. Consulte "Configurar un dominio personalizado para tu sitio de Páginas de GitHub."

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la parte inferior de la página, en la sección "Zona de peligro", haz clic en Transferir.

  4. Lea la información sobre cómo transferir un repositorio y, a continuación, en "Nuevo propietario", elija cómo especificar el nuevo propietario.

    • Para elegir una de las organizaciones, seleccione Seleccionar una de mis organizaciones.

      • Seleccione el menú desplegable y haga clic en una organización.

      • Opcionalmente, en el campo "Nombre del repositorio", escriba un nuevo nombre para el repositorio.

        Nota: Tiene que ser propietario de la organización de destino para poder cambiar el nombre del repositorio.

    • Para especificar una organización o un nombre de usuario, seleccione Especificar una organización o nombre de usuario y, después, escriba el nombre de usuario de la organización o del nuevo propietario.

  5. Lee las advertencias acerca de la posible pérdida de características en función de la suscripción de GitHub del propietario nuevo.

  6. Después de Escribir REPOSITORY NAME para confirmar, escriba el nombre del repositorio que quiere transferir y haga clic en Lo entiendo, quiero transferir este repositorio.

Transferir un repositorio que le pertenece a tu organización

Si tienes permisos de propietario en una organización o permisos de administrador para uno de sus repositorios, puedes transferir un repositorio que le pertenece a tu organización a tu cuenta personal o a otra organización. Los repositorios internos no se pueden transferir a una cuenta personal, solo a otra organización. Para transferir un repositorio interno, cambia la visibilidad del repositorio a "privado" o "público". Consulte Configurar la visibilidad de un repositorio

  1. Inicia sesión en tu cuenta personal que tiene permisos de administrador o propietario en la organización a la que le pertenece el repositorio.

  2. En GitHub, navegue hasta la página principal del repositorio.

  3. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  4. En la parte inferior de la página, en la sección "Zona de peligro", haz clic en Transferir.

  5. Lea la información sobre cómo transferir un repositorio y, a continuación, en "Nuevo propietario", elija cómo especificar el nuevo propietario.

    • Para elegir una de las organizaciones, seleccione Seleccionar una de mis organizaciones.

      • Seleccione el menú desplegable y haga clic en una organización.

      • Opcionalmente, en el campo "Nombre del repositorio", escriba un nuevo nombre para el repositorio.

        Nota: Tiene que ser propietario de la organización de destino para poder cambiar el nombre del repositorio.

    • Para especificar una organización o un nombre de usuario, seleccione Especificar una organización o nombre de usuario y, después, escriba el nombre de usuario de la organización o del nuevo propietario.

  6. Lee las advertencias acerca de la posible pérdida de características en función de la suscripción de GitHub del propietario nuevo.

  7. Después de Escribir REPOSITORY NAME para confirmar, escriba el nombre del repositorio que quiere transferir y haga clic en Lo entiendo, quiero transferir este repositorio.