Compartilhar via


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:

  1. Vá para Configurações>Configurações do workspace.
  2. 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 ícone do histórico de versão na barra lateral direita.

Histórico de versão

Observação

Não é possível modificar um notebook enquanto o painel de histórico está aberto.

  1. Clique em ícone do histórico de versão na barra lateral direita. A barra de status do Git exibirá Git: Não vinculado.

    Barra de status do Git

  2. 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.

    Preferências do Git – vincular novo notebook

  3. No campo Status, clique em Vincular.

  4. No campo Vincular, cole a URL do repositório do GitHub.

  5. Clique na lista suspensa Branch e selecione um branch ou digite o nome de um novo branch.

  6. 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.

  7. 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.

  8. 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.

  1. Clique em ícone do histórico de versão na barra lateral direita para abrir o painel de histórico.

    Painel de histórico – salve agora

  2. Clique em Salvar Agora para salvar o notebook no GitHub. A caixa de diálogo Salvar versão do notebook é exibida.

  3. Opcionalmente, insira uma mensagem que descreva a alteração.

  4. Verifique se a opção Também fazer commit no Git está selecionada.

    Salvar versão

  5. 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.

  1. Clique em ícone do histórico de versão na barra lateral direita para abrir o painel de histórico.

    Painel de histórico

  2. Escolha uma entrada no painel de histórico. O Azure Databricks exibirá essa versão.

  3. Clique em Restaurar esta versão.

  4. Clique em Confirmar para confirmar que deseja restaurar essa versão.

  1. Clique em ícone do histórico de versão na barra lateral direita para abrir o painel de histórico.

  2. A barra de status do Git exibe Git: Sincronizado.

    Painel de histórico – salvar agora a imagem

  3. Clique em Git: Sincronizado.

    Preferências do Git – desvincular notebook

  4. Na caixa de diálogo Preferências do Git, clique em Desvincular.

  5. Clique em Save (Salvar).

  6. 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

  1. Clique em ícone do histórico de versão na barra lateral direita para abrir o painel de histórico.

  2. Clique na barra de status do Git para abrir o painel do GitHub.

  3. Clique na lista suspensa Branch.

  4. Insira o nome de um branch.

    Criar branch

  5. 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

  1. Clique em ícone do histórico de versão na barra lateral direita para abrir o painel de histórico.

  2. Clique na barra de status do Git para abrir o painel do GitHub.

    Preferências do Git – crie uma solicitação de pull

  3. 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.

Trocar base

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:

Antes de trocar a base da estrutura do branch

Após uma troca de base, a estrutura do branch tem a seguinte aparência:

Após trocar a base da estrutura do branch

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:

Mesclar o Conflito

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: