Transfiera repositorios de git de GitLab a GitHub: ¿podemos, cómo hacer y las dificultades (si las hay)?
204
¿Se puede transferir repositorios de GitLab a GitHub si es necesario? Si es así, ¿cómo puedo hacer exactamente lo mismo?
Además, ¿hay algún inconveniente al hacerlo o medidas de precaución que deba tener en cuenta antes de hacerlo, dado que puedo decidir eventualmente trasladarlos a GitHub (ya que tiene más funciones en este momento que podría ser útil para mi proyecto) )
Gracias, Von: tu respuesta me sirvió, solo agregué un poco a tu respuesta con respecto al cmd exacto, agregue cmd y empuje las cosas de la manera ssh si es necesario. Espero que esté bien.
boddhisattva
@boddhisattva Está bien, pero veo que su edición fue rechazada. Lo he agregado nuevamente en la respuesta.
VonC
55
¿Algún comentario sobre problemas de importación y etiquetas? ¿Se puede importar algo más que código mediante extracción y extracción? Gracias.
@YakovK No conozco un proceso automático que tenga en cuenta las relaciones públicas y los problemas. Al menos, las relaciones públicas en GitHub son ramas (consulte stackoverflow.com/a/30542987/6309 ), por lo que podrían importarse.
VonC
1
@kiki empujará todas las ramas locales, pero si su repositorio local es en sí mismo un clon, solo tendrá master como su rama local desprotegida predeterminada. Primero debe crear las otras ramas locales después de sus ramas de seguimiento remotas reactivas, antes de usar push --mirror. stackoverflow.com/a/18911322/6309 . Vea también la alternativa mencionada en stackoverflow.com/a/24099141/6309 (última oración)
VonC
149
Esto es muy fácil mediante la función de repositorio de importación. Inicie sesión en github.com,
Al lado de la imagen de perfil, encontrará un +clic en el botón y luego habrá una opción import repository. Encontrarás una página como esta.
Se requiere la URL de clonación de su antiguo repositorio, que es la URL de repositorio de gitlab en su caso. luego seleccione Propietario y luego escriba el nombre para este repositorio y haga clic para comenzar a importar.
Es muy conveniente que GitHub haya agregado eso. Sin embargo, no funcionará si es un GitLab interno detrás de un firewall, lo que representa un gran caso de uso para GitLab.
abalter
77
Solo una nota rápida para cualquier persona que use la opción de importación. Tuve que deshabilitar MFA en GitLab para que esto funcione.
Día D el
2
Esto funciona bien Mucho mejor que la respuesta aceptada
LnxSlck
¿Como si quiero importar sucursal?
coderInrRain
1
El repositorio importado no necesariamente tiene que ser público ahora, ya que github ha hecho que agregar repositorios privados sea gratuito.
Tuve el problema opuesto y finalmente tuve que crear mi propio script de bash shell para que la compañía migrara los cientos de repositorios de Github a Gitlab debido a un cambio en la política de la compañía.
El script usa la API de Gitlab para crear un repositorio de forma remota e inserta el repositorio de Github en él. Todavía no hay un archivo README.md, pero sh está bien documentado.
Lo mismo se puede hacer de manera opuesta, me imagino. Espero que esto pueda ayudar. https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh
Si tiene MFA habilitado en GitLab, debe ir a Configuración del repositorio / Repositorio -> Implementar claves y crear uno, luego usarlo como inicio de sesión mientras importa el repositorio en GitHub
push --mirror
. stackoverflow.com/a/18911322/6309 . Vea también la alternativa mencionada en stackoverflow.com/a/24099141/6309 (última oración)Esto es muy fácil mediante la función de repositorio de importación. Inicie sesión en
github.com
,Al lado de la imagen de perfil, encontrará un
+
clic en el botón y luego habrá una opciónimport repository
. Encontrarás una página como esta. Se requiere la URL de clonación de su antiguo repositorio, que es la URL de repositorio de gitlab en su caso. luego seleccione Propietario y luego escriba el nombre para este repositorio y haga clic para comenzar a importar.fuente
Si desea migrar el repositorio, incluida la wiki y todos los problemas e hitos, puede usar la migración de nodo-gitlab-2-github y GitLab a GitHub
fuente
Tuve el problema opuesto y finalmente tuve que crear mi propio script de bash shell para que la compañía migrara los cientos de repositorios de Github a Gitlab debido a un cambio en la política de la compañía.
El script usa la API de Gitlab para crear un repositorio de forma remota e inserta el repositorio de Github en él. Todavía no hay un archivo README.md, pero sh está bien documentado.
Lo mismo se puede hacer de manera opuesta, me imagino. Espero que esto pueda ayudar.
https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh
fuente
Si tiene MFA habilitado en GitLab, debe ir a Configuración del repositorio / Repositorio -> Implementar claves y crear uno, luego usarlo como inicio de sesión mientras importa el repositorio en GitHub
fuente