Migrar a un nuevo repositorio de Git

Si tienes un proyecto de LookML conectado a un repositorio de Git, puede que quieras mover el LookML de ese proyecto a un nuevo repositorio.

Hay dos enfoques posibles para este problema, que se describen en las siguientes secciones:

  • Restablecer la conexión de Git: esta solución sencilla conserva todas las ramas personales y compartidas de Looker y es adecuada para la mayoría de los casos prácticos.
  • Clonar el repositorio de Git: esta solución avanzada es la más adecuada cuando es importante poder ver inmediatamente el historial completo de todas las ramas que se han usado a través de la interfaz de usuario de tu proveedor de Git.

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

Si restableces la conexión de Git e introduces una nueva URL de repositorio de Git, el LookML se trasladará 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 interfaz de usuario de tu proveedor de Git solo mostrará la rama principal y su historial. Las demás ramas y su historial aparecerán la próxima vez que se haga un commit en esa rama. Para migrar a un nuevo repositorio con este método, sigue estos pasos:

  1. Ve a la página Configuración del proyecto de ese proyecto.
  2. En la pestaña Configuración de la página Configuración del proyecto, selecciona el botón Restablecer conexión Git.
  3. En la página Configure Git (Configurar Git), introduce la nueva URL de Git (la URL de Git del repositorio al que quieras migrar) y, a continuación, selecciona Continue (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 provocar un conflicto si ambos repositorios están alojados en el mismo servicio (en este caso, GitHub).
  5. En el caso de las conexiones SSH, añade la nueva clave de implementación a tu repositorio de Git y asegúrate de conceder acceso de escritura en la configuración de la clave de implementación del repositorio de Git. Si usas HTTPS, introduce las credenciales de inicio de sesión de tu repositorio de Git. Consulta la página de documentación Configurar y probar una conexión Git para ver las instrucciones completas sobre cómo configurar Git.

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

Nota: El LookML de tu proyecto no aparecerá en la rama principal del nuevo repositorio hasta que despliegues el proyecto en producción. Si no implementas el código en producción, este solo aparecerá en tu rama de desarrollo del nuevo repositorio después de confirmarlo o de insertarlo en un repositorio remoto (un comando de Git disponible en el panel Acciones de Git).

Solución avanzada: clonar el repositorio

La solución sencilla que hemos descrito anteriormente conservará el historial de todas las ramas, pero solo la rama principal y su historial se mostrarán en la interfaz de GitHub al principio. Una vez que se haya realizado una confirmación en una rama personal o compartida de Looker, esa rama y su historial aparecerán en la interfaz de usuario de GitHub. Se necesita una solución más avanzada para ver inmediatamente todas las ramas y su historial a través de la interfaz de usuario de GitHub.

Primero, debes tener acceso al repositorio original en GitHub (u otro proveedor de Git). Puede encontrar la URL del repositorio en la parte inferior de la página de configuración 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 repositorio:

  1. Clona el repositorio original en tu ordenador 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 más información en la documentación de GitHub.

    git remote -v
    

    Esto te muestra los repositorios remotos a los que apunta tu repositorio. Los resultados serán similares a los siguientes:

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

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Ahora, para importar el historial y los archivos de las ramas de desarrollo, tendrás que hacer git checkout dev_branch_name y git push origin en cada rama de desarrollo. Puedes hacerlo manualmente 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
    

    A continuación, empuja las ramas con git push --all.

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