Controle de versão Git para notebooks (legado)
Importante
O suporte à integração Git do notebook legado foi removido em 31 de janeiro de 2024. O Databricks recomenda que você use pastas Git Databricks para sincronizar seu trabalho no Databricks com um repositório Git remoto.
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 espaço de trabalho para importar e exportar blocos de anotações e executar operações Git em seu ambiente de desenvolvimento local.
Ativar e desativar o controlo de versões no Git
Por predefinição, o controlo de versões está ativado. Para alternar essa configuração:
- Vá para Configurações>Configurações do espaço de trabalho.
- Na seção Avançado, desmarque a alternância de controle de versão do Git do bloco de anotações.
Configure version control (Configurar o controlo de versões)
Para configurar o controle de versão, crie credenciais de acesso em seu provedor Git e adicione essas credenciais ao Azure Databricks.
Trabalhar com versões de bloco de notas
Você trabalha com versões de bloco de anotações no painel histórico. Abra o painel de histórico clicando na barra lateral direita.
Nota
Não é possível modificar um bloco de anotações enquanto o painel de histórico estiver aberto.
Vincular um bloco de anotações ao GitHub
Clique na barra lateral direita. A barra de status do Git exibe Git: Não vinculado.
Clique em Git: Não vinculado.
A caixa de diálogo Preferências do Git é exibida. Na primeira vez que você abrir seu bloco de anotações, o Status é Desvincular, porque o bloco de anotações não está no GitHub.
No campo Status, clique em Link.
No campo Link, cole a URL do repositório GitHub.
Clique na lista suspensa Ramificação e selecione uma ramificação ou digite o nome de uma nova ramificação.
No campo Caminho na pasta Git, especifique onde no repositório armazenar o arquivo.
Os blocos de anotações Python têm a extensão de arquivo padrão sugerida
.py
. Se você usar.ipynb
o , seu bloco de anotações será salvo no formato de bloco de anotações iPython. Se o arquivo já existir no GitHub, você pode copiar e colar diretamente a URL do arquivo.Clique em Guardar para concluir a ligação do seu bloco de notas. Se esse arquivo não existia anteriormente, um prompt com a opção Salvar este arquivo no repositório GitHub será exibido.
Digite uma mensagem e clique em Salvar.
Salvar um bloco de anotações no GitHub
Embora as alterações feitas no seu bloco de anotações sejam salvas automaticamente no histórico de versões do Azure Databricks, as alterações não persistem automaticamente no GitHub.
Clique na barra lateral direita para abrir o painel de histórico.
Clique em Salvar agora para salvar seu bloco de anotações no GitHub. A caixa de diálogo Salvar versão do bloco de anotações é exibida.
Opcionalmente, insira uma mensagem para descrever sua alteração.
Certifique-se de que também confirmar no Git está selecionado.
Clique em Guardar.
Reverter ou atualizar um bloco de anotações para uma versão do GitHub
Depois de vincular um bloco de anotações, o Azure Databricks sincroniza seu histórico com o Git toda vez que você reabre o painel de histórico. As versões sincronizadas com o Git têm hashes de confirmação como parte da entrada.
Clique na barra lateral direita para abrir o painel de histórico.
Escolha uma entrada no painel histórico. O Azure Databricks exibe essa versão.
Clique em Restaurar esta versão.
Clique em Confirmar para confirmar que deseja restaurar essa versão.
Desvincular um bloco de anotações
Clique na barra lateral direita para abrir o painel de histórico.
A barra de status do Git exibe Git: Synced.
Clique em Git: Sincronizado.
Na caixa de diálogo Preferências do Git, clique em Desvincular.
Clique em Guardar.
Clique em Confirmar para confirmar que deseja desvincular o bloco de anotações do controle de versão.
Usar ramificações
Você pode trabalhar em qualquer ramificação do repositório e criar novas ramificações dentro do Azure Databricks.
Criar um ramo
Clique 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 Ramo .
Insira um nome de filial.
Selecione a opção Criar ramificação na parte inferior da lista suspensa. O ramo-mãe é indicado. Você sempre ramifica a partir de sua ramificação selecionada atual.
Criar um pedido Pull
Clique 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 abre uma página de solicitação pull para a ramificação.
Rebasear uma sucursal
Você também pode rebasear sua filial dentro do Azure Databricks. O link Rebase será exibido se novas confirmações estiverem disponíveis na ramificação pai. Somente a redefinição de base sobre a ramificação padrão do repositório pai é suportada.
Por exemplo, suponha que você está trabalhando no databricks/reference-apps
. Você o bifurca em sua própria conta (por exemplo, brkyvz
) e começa a trabalhar em uma filial chamada my-branch
. Se uma nova atualização for pressionada Rebase
para databricks:master
, o botão será exibido e você poderá puxar as alterações para sua ramificaçãobrkyvz:my-branch
.
A rebase funciona de forma um pouco diferente no Azure Databricks. Suponha a seguinte estrutura de ramificação:
Após uma rebaseação, a estrutura da filial se parece com:
O que é diferente aqui é que os Commits C5 e C6 não se aplicam em cima do C4. Eles aparecem como alterações locais no seu bloco de anotações. Os conflitos de mesclagem aparecem da seguinte maneira:
Em seguida, você pode se comprometer com o GitHub mais uma vez usando o botão Salvar agora .
O que acontece se alguém se ramificar do meu ramo que eu acabei de reinstalar?
Se a sua filial (por exemplo, branch-a
) foi a base para outra filial (branch-b
), e você rebasear, você não precisa se preocupar! Uma vez que um usuário também rebaseia branch-b
, tudo vai dar certo. A melhor prática nessa situação é usar ramificações separadas para blocos de anotações separados.
Práticas recomendadas para revisões de código
O Azure Databricks dá suporte à ramificação do Git.
- Você pode vincular um bloco de anotações a qualquer ramificação em um repositório. O Azure Databricks recomenda o uso de uma ramificação separada para cada bloco de anotações.
- Durante o desenvolvimento, você pode vincular um bloco de anotações a uma bifurcação de um repositório ou a uma ramificação não padrão no repositório principal. Para integrar suas alterações upstream, você pode usar o link Criar RP na caixa de diálogo Preferências do Git no Azure Databricks para criar uma solicitação pull do GitHub. O link Criar RP será exibido somente se você não estiver trabalhando na ramificação padrão do repositório pai.
Resolução de Problemas
Se receber erros relacionados com a sincronização do histórico do GitHub, verifique o seguinte:
- Só pode ligar um bloco de notas a um repositório do Git inicializado que não esteja vazio. Teste o URL num browser.
- O token de acesso pessoal do GitHub tem de estar ativo.
- Para utilizar um repositório do GitHub privado, deve ter permissão para ler o repositório.
- Se um bloco de anotações estiver vinculado a uma ramificação do GitHub renomeada, a alteração não será refletida automaticamente no Azure Databricks. Tem de voltar a ligar o bloco de notas ao ramo manualmente.
Migrar para pastas Databricks Git
Os usuários que precisam migrar para pastas Databricks Git do controle de versão herdado do Git podem usar o seguinte guia: