Migrer vers un nouveau dépôt Git

Si vous disposez d'un projet LookML connecté à un dépôt Git, vous pouvez déplacer le code LookML de ce projet vers un nouveau dépôt.

Il existe deux approches possibles pour résoudre ce problème, qui sont toutes deux décrites dans les sections suivantes:

  • Réinitialisez la connexion Git: cette solution simple conserve toutes les branches personnelles et partagées dans Looker, et convient à la majorité des cas d'utilisation.
  • Cloner le dépôt Git: cette solution avancée est à privilégier lorsqu'il est important de pouvoir consulter immédiatement l'historique complet de toutes les branches utilisées via l'interface utilisateur de votre fournisseur Git.

Solution simple: réinitialiser la connexion Git

Si vous réinitialisez la connexion Git et saisissez une nouvelle URL de dépôt Git, le code LookML sera déplacé vers ce dépôt. Toutes les modifications enregistrées dans les branches personnelles et partagées seront conservées et utilisées dans Looker. Au début, l'interface utilisateur de votre fournisseur Git n'affiche que la branche principale et son historique. Les autres branches et leur historique apparaîtront la prochaine fois qu'un commit sera effectué sur cette branche. Pour migrer vers un nouveau dépôt avec cette méthode, procédez comme suit:

  1. Accédez à la page Paramètres du projet de ce projet.
  2. Dans l'onglet Configuration de la page Paramètres du projet, sélectionnez le bouton Réinitialiser la connexion Git.
  3. Sur la page Configurer Git, saisissez la nouvelle URL Git (l'URL Git du dépôt vers lequel vous souhaitez migrer), puis sélectionnez Continuer.
  4. Si vous utilisez SSH pour vous connecter, veillez à sélectionner Réinitialiser la clé. Sinon, la même clé SSH sera utilisée, ce qui peut entraîner un conflit si les deux dépôts sont hébergés par le même service (dans ce cas, GitHub).
  5. Pour les connexions SSH, ajoutez la nouvelle clé de déploiement à votre dépôt Git et assurez-vous d'accorder l'accès en écriture dans les paramètres de la clé de déploiement du dépôt Git. Si vous utilisez HTTPS, saisissez les identifiants de connexion à votre dépôt Git. Consultez la page de documentation Configurer et tester une connexion Git pour obtenir des instructions complètes sur la configuration de Git.

Une fois ces étapes effectuées, votre projet est connecté au nouveau dépôt.

Remarque:Votre projet LookML n'apparaîtra pas dans la branche principale du nouveau dépôt tant que vous n'aurez pas déployé votre projet en production. À moins que vous ne décidiez de déployer en production, votre code LookML n'apparaîtra dans votre branche de développement du nouveau dépôt qu'une fois que vous aurez validé le code ou que vous l'aurez transféré vers un emplacement distant (une commande Git disponible dans le panneau Actions Git).

Solution avancée: cloner le dépôt

La solution simple décrite précédemment permet de conserver l'historique de toutes les branches, mais seuls la branche principale et son historique sont visibles au début dans l'interface utilisateur GitHub. Lorsqu'un commit est effectué sur une branche personnelle ou partagée dans Looker, cette branche et son historique apparaissent dans l'interface utilisateur GitHub. Une solution plus avancée est nécessaire pour afficher immédiatement toutes les branches et leur historique via l'interface utilisateur GitHub.

Tout d'abord, vous devez avoir accès au dépôt d'origine dans GitHub (ou un autre fournisseur Git). Vous trouverez l'URL du dépôt en bas de la page des paramètres ou de la configuration du projet.

Pour cet exemple, supposons que git@github.com:looker/PROJECT_NAME.git soit le dépôt d'origine et que git@github.com:your_organization/PROJECT_NAME.git soit le nouveau dépôt:

  1. Clonez le dépôt d'origine sur votre ordinateur, puis extrayez les branches que vous souhaitez conserver.

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Réinitialisez l'URL distante du dépôt. Pour en savoir plus, consultez la documentation GitHub.

    git remote -v
    

    Cette commande permet d'afficher la ou les télécommandes vers lesquelles votre dépôt pointe actuellement. Les résultats doivent ressembler à ceci:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Définissez ensuite l'origine distante sur le nouveau dépôt:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Pour importer l'historique et les fichiers des branches de développement, vous devez exécuter git checkout dev_branch_name et git push origin pour chaque branche de développement. Cette opération peut être effectuée manuellement ou via une boucle dans un script, comme illustré dans l'exemple suivant:

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

    Transférez ensuite les branches avec git push --all.

  5. Réinitialisez la connexion Git dans Looker sur cette nouvelle URL et configurez une clé de déploiement sur ce nouveau dépôt (consultez les étapes de la section sur la solution simple plus tôt sur cette page).