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:
- Navegue para a página Definições do projeto desse projeto.
- No separador Configuração da página Definições do projeto, selecione o botão Repor ligação do Git.
- 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.
- 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).
- 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:
-
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
-
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)
-
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
-
Agora, para importar o histórico e os ficheiros de ramos de desenvolvimento, tem de fazer
git checkout dev_branch_name
egit 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
. - 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).