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:
- Acesse a página Configurações do projeto dele.
- Na guia Configuração da página Configurações do projeto, selecione o botão Redefinir conexão do Git.
- 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.
- 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).
- 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:
-
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
-
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)
-
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
-
Agora, para incluir o histórico e os arquivos das ramificações de desenvolvimento, você precisa fazer
git checkout dev_branch_name
egit 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
. - 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).