Como migrar para um novo repositório Git

Se você tiver um projeto do LookML conectado a um repositório do Git, poderá mover o LookML desse projeto para um novo repositório.

Há duas abordagens possíveis para esse problema, ambas descritas nas seções a seguir:

  • Redefinir a conexão do Git: essa solução simples preserva todas as ramificações pessoais e compartilhadas no Looker e é adequada para a maioria dos casos de uso.
  • Clone o repositório Git: essa solução avançada é preferível quando é importante ver imediatamente o histórico completo de todas as ramificações já usadas pela UI do seu provedor Git.

Solução simples: redefinir a conexão do Git

Se você redefinir a conexão do Git e inserir um novo URL do repositório Git, o LookML será movido para esse repositório. Todas as mudanças salvas em branches pessoais e compartilhadas serão mantidas e utilizáveis no Looker. No início, UI do seu provedor Git mostrará apenas a ramificação mestre e o histórico dela. Outras ramificações e o histórico delas aparecerão na próxima vez que uma confirmação for feita nela. Para migrar para um novo repositório usando esse método, siga estas etapas:

  1. Navegue até a página Configurações do projeto do projeto.
  2. Na guia Configuração da página Configurações do projeto, selecione o botão Redefinir conexão Git.
  3. Na página Configurar Git, insira o novo URL do Git (o URL do Git do repositório para o qual você quer migrar) e selecione Continuar.
  4. Se você estiver usando SSH para se conectar, selecione Redefinir chave. Caso contrário, a mesma chave SSH será usada, o que pode causar um conflito se os dois repositórios forem hospedados pelo mesmo serviço (neste caso, GitHub).
  5. Para conexões SSH, adicione a nova chave de implantação ao seu repositório Git e conceda acesso de gravação nas configurações da chave de implantação do repositório Git. Se você estiver usando HTTPS, insira as credenciais de login do seu repositório Git. Consulte a página de documentação Como configurar e testar uma conexão do Git para ver instruções completas sobre como configurar o Git.

Depois disso, seu projeto será conectado ao novo repositório.

Observação:o projeto LookML não vai aparecer na ramificação mestre do novo repositório até que você implante o projeto em produção. A menos que você implante em produção, seu código LookML só vai aparecer na ramificação de desenvolvimento no novo repositório depois que você confirmar o código ou enviá-lo para o modo remoto (um comando Git disponível no painel Ações do Git).

Solução avançada: como clonar o repositório

A solução simples descrita anteriormente preserva o histórico de todas as ramificações, mas apenas a ramificação mestre e o histórico dela ficarão visíveis na interface do GitHub inicialmente. Depois que uma confirmação é feita em uma ramificação pessoal ou compartilhada no Looker, essa ramificação e o histórico dela aparecem na interface do GitHub. É necessária uma solução mais avançada para visualizar imediatamente todas as ramificações e o histórico delas na interface do GitHub.

Primeiro, você precisa ter acesso ao repositório original no GitHub (ou em outro provedor Git). O URL do repositório fica na parte de baixo das configurações ou da página de configuração do projeto.

Neste exemplo, suponha que git@github.com:looker/PROJECT_NAME.git seja o repositório original e git@github.com:your_organization/PROJECT_NAME.git seja o novo:

  1. Clone o repositório original no seu computador e extraia as ramificações que quer preservar.

    git clone git@github.com:looker/PROJECT_NAME.git
    cd PROJECT_NAME
    git checkout master
    git pull
    
  2. Redefina o URL remoto do repositório. Consulte a documentação do GitHub para saber mais.

    git remote -v
    

    Isso mostra os controles remotos para o qual seu repositório está apontando. Os resultados vão ser parecidos com estes:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Em seguida, defina o controle remoto de origem para o novo repositório:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Agora, para trazer o histórico e os arquivos das ramificações de desenvolvimento, é necessário adicionar git checkout dev_branch_name e git push origin a cada uma delas. Isso pode ser feito manualmente ou em um loop em um script, como mostrado no exemplo a seguir:

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

    Em seguida, envie as ramificações com git push --all.

  5. Redefina a conexão Git no Looker com esse novo URL e configure uma chave de implantação no novo repositório. Consulte as etapas na seção de solução simples anteriormente nesta página.