Migrer vers un nouveau dépôt Git

Si vous avez 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.

Pour résoudre ce problème, deux approches sont possibles, décrites dans les sections suivantes :

  • Réinitialiser la connexion Git : cette solution simple préserve toutes les branches personnelles et partagées dans Looker. Elle convient à la plupart des cas d'utilisation.
  • Cloner le dépôt Git : cette solution avancée est préférable lorsque vous devez pouvoir consulter immédiatement l'historique complet de toutes les branches jamais 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 que vous 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 utilisables dans Looker. Dans un premier temps, 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 à l'aide de cette méthode, procédez comme suit:

  1. Accédez à la page Paramètres du projet pour 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 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 provoquer 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 veillez à 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 de 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 que vous aurez suivi ces étapes, votre projet sera connecté au nouveau dépôt.

Remarque:Le code LookML de votre projet 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 le déployiez en production, votre code LookML n'apparaîtra que dans votre branche de développement du nouveau dépôt une fois que vous aurez validé le code ou transféré vers un dépôt 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 seule la branche principale et son historique sont visibles dans l'interface utilisateur de GitHub au début. 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:

  1. Clonez le dépôt d'origine sur votre ordinateur, puis tirez vers le bas 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 colonne affiche la ou les ressources distantes auxquelles pointe actuellement votre dépôt. 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 le dépôt distant d'origine 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. Vous pouvez le faire manuellement ou en 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
    

    Transmettez 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 (voir les étapes de la section "Solution simple" plus haut sur cette page).