Migra a un nuevo repositorio de Git

Si tienes un proyecto de LookML que está conectado a un repositorio de Git, es posible que desees mover el LookML de ese proyecto a un repositorio nuevo.

Existen dos enfoques posibles para este problema, que 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 del repositorio de Git, LookML se trasladará a ese repositorio. Todos los cambios guardados en las ramas personales y compartidas se conservarán y podrán usarse 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 de Git 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 el mismo servicio aloja ambos repositorios (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: El código LookML de tu proyecto no aparecerá en la rama principal del nuevo repositorio hasta que despliegues 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: Clona 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 de inmediato todas las ramas y su historial a través de la IU de GitHub.

Primero, debes tener acceso al repositorio original en GitHub (o algún 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.

En 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 nuevo:

  1. Clona el repositorio original en tu computadora y descarga 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
    

    Se mostrarán los controles remotos a los que apunta tu repo actualmente. Los resultados se verán 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 hacer 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 repositorio nuevo (consulta los pasos de la sección de solución simple que se encuentra más arriba en esta página).