Cómo migrar a un nuevo repositorio de Git

Si tienes un proyecto de LookML conectado a un repositorio de Git, te recomendamos que muevas el código de LookML de ese proyecto a un repositorio nuevo.

Existen dos posibles enfoques para este problema, los cuales se describen en las siguientes secciones:

  • Restablece la conexión de Git: Esta solución sencilla conserva todas las ramas personales y compartidas en Looker y es adecuada para la mayoría de los casos de uso.
  • Clonar el repositorio de Git: Se prefiere esta solución avanzada cuando es importante poder ver de inmediato el historial completo de todas las ramas utilizadas a través de la IU de tu proveedor de Git.

Solución simple: restablecer la conexión de Git

Si restableces la conexión de Git y, luego, ingresas una nueva URL de repositorio de Git, se moverá LookML a ese repositorio. Todos los cambios guardados en las ramas personales y compartidas se conservarán y se podrán usar en Looker. Al principio, la IU de tu proveedor de Git solo mostrará la rama principal y su historial. Otras ramas y su historial aparecerán la próxima vez que se realice una confirmación en esa rama. Para migrar a un repositorio nuevo con este método, sigue estos pasos:

  1. Navega a la página Configuración del proyecto de ese proyecto.
  2. En la pestaña Configuration de la página Project Settings, selecciona el botón Reset Git Connection.
  3. En la página Configurar Git, ingresa la nueva URL de Git (la URL del repositorio al que deseas migrar) y, luego, selecciona Continuar.
  4. Si usas SSH para conectarte, asegúrate de seleccionar Restablecer clave. De lo contrario, se usará la misma clave SSH, lo que puede causar un conflicto si ambos repositorios están alojados en el mismo servicio (en este caso, GitHub).
  5. Para las conexiones SSH, agrega la nueva clave de implementación a tu repositorio de Git y asegúrate de otorgar acceso de escritura en la configuración de la clave de implementación del repositorio de Git. Si usas HTTPS, ingresa las credenciales de acceso de tu repositorio de Git. Consulta la página de documentación Configura y prueba una conexión de Git para obtener instrucciones completas sobre cómo configurar Git.

Una vez que hayas seguido estos pasos, tu proyecto se conectará al nuevo repositorio.

Nota: LookML de tu proyecto no aparecerá en la rama principal del repositorio nuevo hasta que implementes tu proyecto en producción. A menos que lo implementes en producción, tu código de LookML solo aparecerá en tu rama de desarrollo en el repositorio nuevo después de que confirmes el código o lo envíes a remoto (un comando de Git disponible en el panel Acciones de Git).

Solución avanzada: Cómo clonar el repositorio

La solución simple descrita anteriormente conservará el historial de todas las ramas, pero, al principio, solo la rama principal y su historial serán visibles en la IU de GitHub. Una vez que se realiza una confirmación en una rama personal o compartida en Looker, esa rama y su historial aparecerán en la IU de GitHub. Se necesita una solución más avanzada para ver inmediatamente todas las ramas y su historial a través de la IU de GitHub.

Primero, debes tener acceso al repositorio original en GitHub (o en otro proveedor de Git). Puedes encontrar la URL del repositorio en la parte inferior de la página de configuración del proyecto o del proyecto.

Para este ejemplo, supongamos que git@github.com:looker/PROJECT_NAME.git es el repositorio original y git@github.com:your_organization/PROJECT_NAME.git es el repositorio nuevo:

  1. Clona el repositorio original en tu computadora y extrae las ramas que quieras conservar.

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Restablece la URL remota del repositorio. Consulta la documentación de GitHub para obtener más información.

    git remote -v
    

    Esto te muestra los controles remotos a los que apunta actualmente tu repositorio. Los resultados se verán más o menos de la siguiente manera:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. A continuación, establece el origen remoto en el nuevo repositorio:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Ahora, para incorporar el historial y los archivos de las ramas de desarrollo, deberás usar git checkout dev_branch_name y git push origin para cada rama de desarrollo. Esto se puede hacer de forma manual o en un bucle en una secuencia de comandos, como se muestra en el siguiente ejemplo:

    #!/bin/bash
    for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do
    git branch --track "${branch##*/}" "$branch"
    done
    

    Luego, envía las ramas con git push --all.

  5. Restablece la conexión de Git en Looker a esta URL nueva y configura una clave de implementación en este nuevo repo (consulta los pasos en la sección de soluciones simples que se indican más arriba en esta página).