Como migrar para um novo repositório Git

Se você tiver um projeto 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.
  • Clonar o repositório Git: essa solução avançada é preferível quando é importante poder 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 do Git, o LookML será movido para esse repositório. Todas as mudanças salvas em ramificações pessoais e compartilhadas serão mantidas e poderão ser usadas no Looker. No início, a interface do seu provedor do Git vai mostrar apenas a ramificação mestre e o histórico dela. Outras ramificações e o histórico delas vão aparecer na próxima vez que uma confirmação for feita nessa ramificação. Para migrar para um novo repositório usando esse método, siga estas etapas:

  1. Acesse a página Configurações do projeto dele.
  2. Na guia Configuração da página Configurações do projeto, selecione o botão Redefinir conexão do Git.
  3. Na página Configurar Git, digite o novo URL do Git (o URL do Git do repositório que você quer migrar) e selecione Continuar.
  4. Se você estiver usando o 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, o GitHub).
  5. Para conexões SSH, adicione a nova chave de implantação ao 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 repositório do 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 de seguir essas etapas, seu projeto será conectado ao novo repositório.

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

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

A solução simples descrita anteriormente vai preservar o histórico de todas as ramificações, mas apenas a ramificação mestre e o histórico dela ficarão visíveis a princípio na interface do GitHub. 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. Uma solução mais avançada é necessária para conferir 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 outro provedor Git). Você pode encontrar o URL do repositório na parte inferior das configurações do projeto ou na 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 repositório:

  1. Clone o repositório original no computador e extraia as ramificações que você 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 mais informações.

    git remote -v
    

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

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Em seguida, defina a origem remota como o novo repositório:

    git remote set-url origin git@github.com:your_organization/PROJECT_NAME.git
    git push origin master
    
  4. Agora, para incluir o histórico e os arquivos das ramificações de desenvolvimento, você precisa fazer git checkout dev_branch_name e git push origin para cada ramificação de desenvolvimento. Isso pode ser feito manualmente ou em loop em um script, como mostrado neste exemplo:

    #!/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 do Git no Looker para esse novo URL e configure uma chave de implantação nesse novo repositório (consulte as etapas na seção da solução simples anterior a esta página).