Migrar para um novo repositório Git

Se tiver um projeto do LookML ligado a um repositório Git, pode querer mover o LookML desse projeto para um novo repositório.

Existem duas abordagens possíveis para este problema, ambas descritas nas secções seguintes:

  • Reponha a ligação Git: esta solução simples preserva todos os ramos pessoais e partilhados no Looker e é adequada para a maioria dos exemplos de utilização.
  • Clonar o repositório Git: esta solução avançada é preferível quando é importante poder ver imediatamente o histórico completo de todos os ramos usados através da IU do seu fornecedor de Git.

Solução simples: repor a ligação do Git

Se repor a ligação Git e introduzir um novo URL do repositório Git, o LookML é movido para esse repositório. Todas as alterações guardadas em ramificações pessoais e partilhadas são mantidas e podem ser usadas no Looker. Inicialmente, a IU do seu fornecedor de Git mostra apenas o ramo principal e o respetivo histórico. Outras ramificações e o respetivo histórico aparecem da próxima vez que for feito um commit nessa ramificação. Para migrar para um novo repositório através deste método, siga estes passos:

  1. Navegue para a página Definições do projeto desse projeto.
  2. No separador Configuração da página Definições do projeto, selecione o botão Repor ligação do Git.
  3. Na página Configurar Git, introduza o novo URL do Git (o URL do Git do repositório para o qual quer migrar) e, de seguida, selecione Continuar.
  4. Se estiver a usar o SSH para estabelecer ligação, certifique-se de que seleciona Repor chave. Caso contrário, é usada a mesma chave SSH, o que pode causar um conflito se ambos os repositórios estiverem alojados no mesmo serviço (neste caso, o GitHub).
  5. Para ligações SSH, adicione a nova chave de implementação ao seu repositório Git e certifique-se de que concede acesso de escrita nas definições da chave de implementação do repositório Git. Se estiver a usar HTTPS, introduza as credenciais de início de sessão do seu repositório Git. Consulte a página de documentação Configurar e testar uma ligação do Git para obter instruções completas sobre a configuração do Git.

Depois de seguir estes passos, o seu projeto é associado ao novo repositório.

Nota: o LookML do seu projeto não aparece no ramo principal do novo repositório até implementar o projeto na produção. A menos que implemente na produção, o seu código LookML só aparece no ramo de desenvolvimento no novo repositório depois de consolidar o código ou enviá-lo para o repositório remoto (um comando Git disponível no painel Ações do Git).

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

A solução simples descrita anteriormente preserva o histórico de todas as ramificações, mas apenas a ramificação principal e o respetivo histórico ficam visíveis na IU do GitHub inicialmente. Assim que for feito um commit num ramo pessoal ou partilhado no Looker, esse ramo e o respetivo histórico aparecem na IU do GitHub. É necessária uma solução mais avançada para ver imediatamente todas as ramificações e o respetivo histórico através da IU do GitHub.

Primeiro, tem de ter acesso ao repositório original no GitHub (ou noutro fornecedor do Git). Pode encontrar o URL do repositório na parte inferior das definições do projeto ou da página de configuração do projeto.

Para este exemplo, suponhamos que git@github.com:looker/PROJECT_NAME.git é o repositório original e git@github.com:your_organization/PROJECT_NAME.git é o novo repositório:

  1. Clone o repositório original para o seu computador e transfira os ramos que quer preservar.

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

    git remote -v
    

    Isto mostra os repositórios remotos para os quais o seu repositório está atualmente a apontar. Os resultados têm o seguinte aspeto:

    origin git@github.com:looker/PROJECT_NAME.git (fetch)
    origin git@github.com:looker/PROJECT_NAME.git (push)
    
  3. Em seguida, defina o comando 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 importar o histórico e os ficheiros de ramos de desenvolvimento, tem de fazer git checkout dev_branch_name e git push origin para cada ramo de desenvolvimento. Isto pode ser feito manualmente ou num ciclo num script, como mostrado no exemplo seguinte:

    #!/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, empurre os ramos com git push --all.

  5. Reponha a ligação Git no Looker para este novo URL e configure uma chave de implementação neste novo repositório (consulte os passos na secção de solução simples anteriormente nesta página).