Controle de versão do Git para notebooks (herdado)
Importante
O suporte à integração do Git com o notebook herdado foi removido em 31 de janeiro de 2024. O Databricks recomenda o uso das pastas Git do Databricks para sincronizar seu trabalho no Databricks com um repositório remoto do Git.
Este artigo descreve como configurar o controle de versão do Git para notebooks (recurso herdado). Você também pode usar a CLI do Databricks ou a API do Workspace 2.0 para importar e exportar notebooks e executar operações Git no ambiente de desenvolvimento local.
Habilitar e desabilitar o controle de versão do Git
Por padrão, o controle de versão está habilitado. Para alternar essa configuração:
- Vá para Configurações>Configurações do workspace.
- Na seção Avançado, desmarque a alternância Controle de Versão do Git para Notebook.
Configurar controle de versão
Para configurar o controle de versão, crie credenciais de acesso no seu provedor Git e adicione essas credenciais ao Azure Databricks.
Trabalhar com versões de notebook
Você trabalha com versões de notebook no painel de histórico. Abra o painel de histórico clicando em na barra lateral direita.
Observação
Não é possível modificar um notebook enquanto o painel de histórico está aberto.
Vincular um notebook ao GitHub
Clique em na barra lateral direita. A barra de status do Git exibirá Git: Não vinculado.
Clique em Git: Não vinculado.
A caixa de diálogo Preferências do Git será exibida. Na primeira vez que você abrir o notebook, o Status será Desvincular, pois o notebook não está no GitHub.
No campo Status, clique em Vincular.
No campo Vincular, cole a URL do repositório do GitHub.
Clique na lista suspensa Branch e selecione um branch ou digite o nome de um novo branch.
No campo Caminho na pasta Git, especifique onde no repositório armazenar seu arquivo.
Os notebooks do Python têm a extensão
.py
de arquivo padrão sugerida. Se você usar.ipynb
, o notebook será salvo no formato de notebook iPython. Se o arquivo já existir no GitHub, você poderá copiar e colar diretamente a URL do arquivo.Clique em Salvar para concluir a vinculação do seu notebook. Se esse arquivo não existia, é exibido um prompt com a opção Salvar este arquivo no repositório do GitHub.
Digite uma mensagem e clique em Salvar.
Salvar um notebook no GitHub
Embora as alterações feitas no notebook sejam salvas automaticamente no histórico de versões do Azure Databricks, as alterações não persistem automaticamente no GitHub.
Clique em na barra lateral direita para abrir o painel de histórico.
Clique em Salvar Agora para salvar o notebook no GitHub. A caixa de diálogo Salvar versão do notebook é exibida.
Opcionalmente, insira uma mensagem que descreva a alteração.
Verifique se a opção Também fazer commit no Git está selecionada.
Clique em Save (Salvar).
Reverter ou atualizar um notebook para uma versão no GitHub
Depois que você vincula um notebook, o Azure Databricks sincroniza seu histórico com o Git sempre que você reabre o painel de histórico. As versões que são sincronizadas com o Git têm hashes de commit como parte da entrada.
Clique em na barra lateral direita para abrir o painel de histórico.
Escolha uma entrada no painel de histórico. O Azure Databricks exibirá essa versão.
Clique em Restaurar esta versão.
Clique em Confirmar para confirmar que deseja restaurar essa versão.
Desvincular um notebook
Clique em na barra lateral direita para abrir o painel de histórico.
A barra de status do Git exibe Git: Sincronizado.
Clique em Git: Sincronizado.
Na caixa de diálogo Preferências do Git, clique em Desvincular.
Clique em Save (Salvar).
Clique em Confirmar para confirmar que deseja desvincular o notebook do controle de versão.
Usar branches
Você pode trabalhar em qualquer branch do repositório e criar branches no Azure Databricks.
Criar um branch
Clique em na barra lateral direita para abrir o painel de histórico.
Clique na barra de status do Git para abrir o painel do GitHub.
Clique na lista suspensa Branch.
Insira o nome de um branch.
Selecione a opção Criar Branch na parte inferior da lista suspensa. O branch pai é indicado. Você sempre faz uma ramificação do branch selecionado atual.
Crie uma solicitação de pull
Clique em na barra lateral direita para abrir o painel de histórico.
Clique na barra de status do Git para abrir o painel do GitHub.
Clique em Criar PR. O GitHub será aberto em uma página de solicitação de pull para o branch.
Trocar a base de um branch
Você também pode trocar a base do seu branch no Azure Databricks. O link Trocar Base será exibido se novos commits estiverem disponíveis no branch pai. Só há suporte para a troca de base no branch padrão do repositório pai.
Por exemplo, suponha que você esteja trabalhando em databricks/reference-apps
. Você cria um fork dele na sua conta (por exemplo, brkyvz
) e começa a trabalhar em um branch chamado my-branch
. Se uma nova atualização for enviada por push para databricks:master
, o botão Rebase
será exibido e você poderá efetuar pull das alterações no seu branch brkyvz:my-branch
.
A troca de base funciona um pouco diferente no Azure Databricks. Suponha a seguinte estrutura de branch:
Após uma troca de base, a estrutura do branch tem a seguinte aparência:
O que há de diferente aqui é que os commits C5 e C6 não se aplicam ao C4. Eles aparecem como alterações locais no notebook. Os conflitos de mesclagem aparecem da seguinte maneira:
Em seguida, você pode fazer commit no GitHub novamente usando o botão Salvar Agora.
O que acontece se alguém faz uma ramificação do branch que acabei de trocar a base?
Se o branch (por exemplo, branch-a
) era a base de outro branch (branch-b
) e você troca de base, não se preocupe. Depois que um usuário também trocar a base de branch-b
, tudo funcionará. A melhor prática nesta situação é usar branches separados para notebooks separados.
Melhores práticas para revisões de código
O Azure Databricks dá suporte à ramificação Git.
- Você pode vincular um notebook a qualquer branch de um repositório. O Azure Databricks recomenda usar um branch separado para cada notebook.
- Durante o desenvolvimento, você pode vincular um notebook a um fork de um repositório ou a um branch não padrão no repositório principal. Para integrar as alterações upstream, use o link Criar PR na caixa de diálogo Preferências do Git no Azure Databricks para criar uma solicitação de pull do GitHub. O link Criar PR será exibido somente se você não estiver trabalhando no branch padrão do repositório pai.
Solução de problemas
Se você receber erros relacionados à sincronização de histórico do GitHub, verifique o seguinte:
- Você só pode vincular um notebook a um repositório Git inicializado que não está vazio. Teste a URL em um navegador da Web.
- O token de acesso pessoal do GitHub deve estar ativo.
- Para usar um repositório do GitHub privado, você deve ter permissão para ler o repositório.
- Se um notebook estiver vinculado a um branch do GitHub renomeado, a alteração não será refletida automaticamente no Azure Databricks. Você deve vincular novamente o notebook ao branch manualmente.
Migrar para pastas Git do Databricks
Os usuários que precisam migrar para pastas Git do Databricks a partir do controle de versão Git herdado podem usar o seguinte guia: