Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página descreve como realizar operações Git comuns no seu espaço de trabalho Azure Databricks usando pastas Git, incluindo clonagem, criação de ramificações, realização de commit e envio.
Este guia cobre as seguintes operações Git:
| Instalação e configuração | Fluxo de trabalho diário | Operações avançadas |
|---|---|---|
Clonar um repositório
Quando clonas um repositório remoto, o Databricks cria uma pasta Git no teu espaço de trabalho que contém o conteúdo do repositório e regista as alterações. Pode criar pastas Git usando a interface do Azure Databricks ou o terminal web.
Nota
- Tens de ter
CAN MANAGEpermissão na pasta pai onde queres criar a pasta Git. - O seu espaço de trabalho deve ter credenciais Git configuradas. Veja Ligar o seu fornecedor Git ao Databricks.
Clone da interface do utilizador
Na barra lateral, selecione Workspace e navegue até à pasta onde quer criar o clone do repositório Git.
Clica em Criar>pasta Git.
Na caixa de diálogo Criar pasta Git, forneça as seguintes informações:
Campo Description URL do repositório Git A URL do repositório Git que queres clonar, no formato https://example.com/organization/project.git.Fornecedor Git O provedor Git para o repositório que você deseja clonar. Nome da pasta Git O nome da pasta no teu espaço de trabalho que contém o conteúdo do repositório clonado. Modo de verificação esparsa Se deve usar sparse checkout, que clona apenas um subconjunto dos diretórios do seu repositório usando um padrão de cone. Isto é útil se o seu repositório ultrapassar os limites de tamanho. Usa Git CLI (Beta) Ative a execução de comandos Git padrão diretamente a partir de um terminal Azure Databricks. Isto proporciona acesso a operações avançadas como ganchos de pré-commit, submódulos Git e Armazenamento de Ficheiros Grandes (LFS). Veja Usar comandos Git CLI (Beta). Clique em Criar pasta Git. O conteúdo do repositório remoto é clonado para o seu espaço de trabalho, e pode começar a trabalhar com operações Git suportadas.
Clonar a partir do terminal web
Também pode criar pastas Git com acesso à CLI diretamente a partir do terminal web:
Aceda ao terminal web. Consulte Executar comandos de shell no terminal Web do Azure Databricks.
Navegue até ao diretório principal em
/Workspace:cd /Workspace/Users/<your-email>/<project>Nota
Não podes criar pastas Git com acesso à CLI Git dentro
/Reposou dentro das pastas Git existentes.Clone o seu repositório:
git clone <remote-url>O
git clonecomando utiliza as credenciais Git configuradas no seu espaço de trabalho. Veja Ligar o seu fornecedor Git ao Databricks.Atualize o seu navegador para ver a nova pasta no navegador de ficheiros do espaço de trabalho.
Usar comandos Git CLI (Beta)
Importante
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.
Pastas Git com acesso a CLI Git permitem executar comandos Git padrão diretamente a partir de um terminal Azure Databricks. É possível:
- Execute qualquer comando Git, incluindo
git stash,git pull --force, egit rebase -i. - Integra linting e análise de código com hooks de pré-commit.
- Trabalhe com repositórios que excedam os limites de 2 GB de memória e 4 GB de disco das pastas Git padrão.
- Use submódulos Git e Armazenamento de Ficheiros Grandes (LFS).
- Fasear múltiplos commits localmente antes de enviar para o repositório remoto.
Para usar o acesso Git CLI, o seu espaço de trabalho deve ter computação serverless ativada com ambiente versão 4 ou superior.
Criar uma pasta Git com acesso à CLI Git
Para criar uma pasta Git com acesso a CLI:
- Se usares o terminal web, qualquer repositório que clones tem acesso automático à CLI do Git.
- Se usares a interface, ativa o Use Git CLI quando criares a pasta Git.
Depois de criar uma pasta Git com acesso à CLI, execute qualquer comando Git padrão a partir do terminal web:
cd /Workspace/Users/<your-email>/<project>/my-repo
# Interactive rebase
git rebase -i main
# Stash uncommitted changes
git stash
# Work with submodules
git submodule update --init --recursive
Limitações da CLI do Git
Pastas Git com acesso a CLI apresentam as seguintes limitações:
- Espaços de trabalho com listas de permissões de URLs remotas ativadas não conseguem utilizar as funcionalidades da Interface de Linha de Comandos do Git.
- Os comandos Git CLI ignoram a definição de administrador que bloqueia fazer commit dos outputs do notebook.
- A API dos repositórios não é suportada para pastas Git com acesso à linha de controlo (CLI).
- Não podes ativar o acesso à CLI do Git para pastas Git existentes.
Resolução de problemas das operações da CLI Git
- O terminal pede credenciais em todas as operações: A funcionalidade Git CLI não está ativada no seu espaço de trabalho. Contacta o administrador do teu espaço de trabalho para verificar se a pré-visualização está ativada.
- Não é possível ativar o acesso à CLI: Espaços de trabalho com listas de URL remotas não podem usar funcionalidades da CLI do Git. Contacte o administrador do seu espaço de trabalho para rever a configuração da rede do seu espaço de trabalho.
- As operações Git falham com erros de permissões: Verifique se possui a permissão necessária na pasta principal e se as credenciais Git do seu espaço de trabalho são válidas. Veja Ligar o seu fornecedor Git ao Databricks.
Acesse a caixa de diálogo Git
Acede ao diálogo Git a partir de um caderno ou do navegador de pastas Git do Azure Databricks.
A partir de um caderno, clique no botão ao lado do nome do caderno que identifica o ramo Git atual.
No navegador de pastas Git do Azure Databricks, clique em Git ao lado do nome do repositório.
Aparece um diálogo em ecrã inteiro onde podes realizar operações Git.
- O seu ramo de trabalho atual. Você pode selecionar outras filiais aqui. Se outros utilizadores tiverem acesso a esta pasta Git, modificar a ramificação também altera a ramificação para eles se partilharem o mesmo espaço de trabalho. Consulte uma prática recomendada para evitar esse problema.
- Crie uma nova ramificação.
- Arquivos e subpastas adicionados ao seu ramo atual.
- Mostrar o histórico do ramo atual.
- Extrai conteúdo do repositório remoto do Git.
- Adicione uma mensagem de commit e uma descrição expandida opcional para as suas alterações.
- Compromete o teu trabalho no branch de trabalho e empurra o branch atualizado para o repositório Git remoto.
Clique no Menu Kebab para escolher entre operações adicionais de branch Git, como um hard reset, merge ou rebase.
Criar um novo ramo
Para criar uma nova filial:
- Abre o diálogo do Git.
- Clique em Criar ramificação.
- Introduza um nome para o novo ramo e selecione o ramo base.
- Clique em Criar.
Muda para outro ramo
Para selecionar um ramo diferente, use o menu dropdown de ramos na caixa de diálogo Git.
Alterações não comprometidas no branch atual são mantidas e aparecem como alterações não comprometidas no novo branch, se as alterações não comprometidas não entrarem em conflito com o código do novo branch. Descarta as alterações antes ou depois das trocas de branch se não tencionares transferir as alterações não comprometidas.
A versão local de um branch pode permanecer presente na pasta Git associada até 30 dias após eliminar o branch remoto. Para remover completamente uma ramificação local em uma pasta Git, exclua o repositório.
Importante
Mudar de ramo pode apagar ativos do espaço de trabalho quando o novo ramo não contém esses ativos. Ao mudar para o branch atual, os ativos apagados são recriados com novos IDs e URLs. Esta mudança não pode ser revertida.
Se partilhaste ou guardaste ativos de uma pasta Git, verifica se o ativo existe na nova ramificação antes de mudares.
Comprometer e enviar alterações
Quando adicionas novos cadernos ou ficheiros, ou fazes alterações a cadernos ou ficheiros existentes, a interface da pasta Git destaca as alterações.
Adicione uma mensagem de commit obrigatória para as alterações e clique em Commit & Push para enviar as alterações para o repositório Git remoto.
Se não tiveres permissão para fazer commit no branch predefinido, cria um novo branch e usa a interface do teu fornecedor Git para criar um pull request e fundi-lo no branch predefinido.
Nota
As saídas dos notebooks não são incluídas nos commits por padrão quando os notebooks são guardados em formatos de ficheiro de origem (.py, .scala, .sql, .r). Para informações sobre como commitar saídas de notebooks usando o formato IPYNB, veja Commits de artefactos de saída de notebooks Control IPYNB.
Puxar alterações
Para extrair alterações do repositório Git remoto, clique em Pull na caixa de diálogo de operações Git. Os notebooks e outros ficheiros atualizam-se automaticamente para a versão mais recente no seu repositório Git remoto. Se as alterações retiradas do repositório remoto entrarem em conflito com as tuas alterações locais no Azure Databricks, resolve os conflitos de fusão.
Importante
Operações do Git que integram alterações a montante limpam o estado do notebook. Veja as alterações recebidas que limpam o estado do caderno.
Colaborar em repositórios Git
As pastas Git do Azure Databricks comportam-se como clientes Git embutidos no seu espaço de trabalho, permitindo-lhe colaborar através de controlo de versões e versionamento baseados em Git. Para uma colaboração eficaz em equipa:
- Cada membro da equipa tem a sua própria pasta Git mapeada para o repositório Git remoto, onde trabalha no seu próprio ramo de desenvolvimento.
- Apenas um utilizador realiza operações Git em cada pasta Git. Vários utilizadores a realizar operações Git na mesma pasta podem causar problemas de gestão de branches, como um utilizador mudar inadvertidamente de branch, afetando todos.
Para partilhar a configuração da sua pasta Git com um colaborador:
- Clique em Share (Partilhar).
- Clique em Copiar link para criar a pasta Git.
- Envia a URL ao teu colaborador.
- Quando o teu colaborador abre a URL, vê um diálogo pré-preenchido com a configuração da tua pasta Git.
- Eles clicam em Criar pasta Git para clonar o repositório no seu próprio espaço de trabalho, na pasta de trabalho atual.
Mesclar ramificações
A função de fusão nas pastas Git do Azure Databricks usa git merge para combinar o histórico de commit de um ramo para outro. Para iniciantes no Git, o Databricks recomenda usar merge em vez de rebase porque não requer force push nem reescreve o histórico de commits.
Para fundir um ramo com outro, clique no e selecione Fundir.
- Se houver um conflito de fusão, resolva-o na interface das pastas do Git.
- Se não houver conflito, a fusão é enviada para o repositório Git remoto usando
git push.
Resolver conflitos de mesclagem
Conflitos de fusão ocorrem quando o Git não consegue reconciliar automaticamente alterações às mesmas linhas de um ficheiro provenientes de diferentes fontes, como durante uma operação de pull, rebase ou merge.
Para resolver um conflito de fusão, utilize a interface de pastas Git que mostra ficheiros conflitantes e opções de resolução.
- Edita manualmente o ficheiro para escolher quais as alterações a manter.
- Selecione Manter todas as alterações atuais ou Aceitar todas as alterações recebidas para aceitar uma versão completamente.
- Abortar a operação e descartar alterações conflitantes para tentar novamente.
Resolver conflitos manualmente
A resolução manual de conflitos permite-lhe determinar quais as linhas conflitantes a aceitar. Edita diretamente o conteúdo do ficheiro para resolver os conflitos.
Para resolver o conflito, selecione as linhas de código que deseja preservar e exclua todo o resto, incluindo os marcadores de conflito de mesclagem do Git. Quando terminar, selecione Marcar como resolvido.
Se fizeste as escolhas erradas ao resolver conflitos de fusão, clica em Abortar para abortar o processo e desfazer tudo. Depois de todos os conflitos estarem resolvidos, clique em Continuar Fusão ou Continuar Rebase para resolver o conflito e completar a operação.
Rebasear um ramo
A função de rebase nas pastas Git do Azure Databricks usa git rebase para integrar alterações de um ramo para outro, reaplicando os seus commits por cima do ramo de destino, criando um histórico linear.
Para rebasear um ramo noutro ramo, clique no menu Kebab e selecione Rebase, depois selecione o ramo alvo.
- Após a rebase, as pastas Git são executadas
git commitegit push --forceatualizam o repositório remoto. - O rebase reescreve o histórico de commits, o que pode causar problemas de versão para colaboradores que trabalham no mesmo repositório.
Reiniciar uma ramificação
Execute uma redefinição do Git através da interface de pastas do Git. Esta operação é equivalente a git reset --hard combinada com git push --force.
A redefinição do Git substitui o conteúdo e o histórico da ramificação pelo estado mais recente de outra ramificação. Podes usar isto quando as edições entram em conflito com o ramo a montante, e não te importas de perder essas edições quando reiniciares para o ramo a montante.
Leia mais sobre git reset --hard.
Reiniciar para uma ramificação remota
Com git reset neste cenário:
- Você redefine sua ramificação selecionada (por exemplo,
feature_a) para uma ramificação diferente (por exemplo,main). - Você também redefine a ramificação upstream (remota)
feature_apara principal.
Importante
Ao reiniciar, perde-se todas as alterações não confirmadas e confirmadas na versão local e remota da branch.
Para redefinir uma ramificação para uma ramificação remota:
Na interface de pastas Git no menu da ramificação, escolha a ramificação que deseja redefinir.
Selecione Reiniciar no
Menu Kebab.
Selecione a branch para reiniciar e clique em Executar Git Reset.
Configurar o modo de check-out esparso
Checkout esparso é uma configuração do lado do cliente que permite clonar e trabalhar apenas com um subconjunto dos diretórios do repositório remoto no Azure Databricks. Isto é especialmente útil se o tamanho do seu repositório exceder os limites suportados pelo Azure Databricks.
Ativa o modo de checkout esparso quando clonares um novo repositório. Não podes desativar o modo de checkout esparso depois de o ativares.
No diálogo Criar pasta Git , ativa o modo de checkout Sparse.
Na caixa Padrões de cone, especifique os padrões de check-out de cone desejados. Separe vários padrões por quebras de linha.
Como funcionam os padrões de cone
Para compreender como funcionam os padrões de cones no modo de checkout esparso, veja o diagrama seguinte que representa a estrutura do repositório remoto.
Se selecionares o modo Sparse Checkout, mas não especificares um padrão de cone, aplica-se o padrão predefinido do cone. Isto inclui apenas os ficheiros na raiz e nenhum subdiretório, resultando numa estrutura de repositório da seguinte forma:
Definir o padrão do cone de checkout esparso como parent/child/grandchild inclui recursivamente todo o diretório grandchild. Os arquivos imediatamente no diretório , /parent e raiz /parent/childtambém estão incluídos. Veja a estrutura de diretórios no diagrama a seguir:
Nota
Comportamentos de exclusão (!) não são suportados na sintaxe do padrão Git cone.
Modificar configurações de check-out esparsas
Depois de criares um repositório, edita o padrão de cone de checkout esparso das Definições>Padrões Avançados>de Cones.
Tenha em atenção o seguinte comportamento:
Remover uma pasta da estrutura em cone remove-a do Azure Databricks, desde que não haja alterações pendentes.
Adicionar uma pasta ao editar o padrão de checkout esparso, no formato de cone, adiciona-a ao Azure Databricks sem necessidade de fazer um pull adicional.
Padrões de checkout esparsos não podem ser modificados para remover uma pasta quando há alterações por confirmar nessa pasta.
Por exemplo, se editares um ficheiro numa pasta e não fizeres commit das alterações, e depois tentares alterar o padrão de checkout esparso para excluir essa pasta, o padrão é aceite, mas a pasta não é apagada. Precisas de reverter o padrão para que inclua essa pasta, submeter as tuas alterações e depois reaplicar o novo padrão.
Faça alterações usando o checkout esparso
Edita ficheiros existentes, faz commit e envia-os a partir da pasta Git. Ao criar novas pastas de arquivos, inclua-as no padrão de cone especificado para esse repositório.
A inclusão de uma nova pasta fora do padrão de cone resulta em um erro durante a operação de confirmação e envio. Para corrigir isto, edita o padrão de cone para incluir a nova pasta que estás a tentar commitar e fazer push.
Limitações de verificação esparsa
- A verificação esparsa não funciona para repositórios Azure DevOps com mais de 4 GB.
- Não podes desativar o sparse checkout para um repositório criado com o sparse checkout ativado.
Gerir repositórios Git de forma programática
Para gerir pastas Git usando a API, consulte a referência da API Repos.
Apagar uma pasta Git
Para remover uma pasta Git do seu espaço de trabalho:
- Clique com o botão direito na pasta Git e selecione Mover para o Lixo.
- Clique em 'Confirmar' e mover para a Lixeira.
Próximos passos
- Configure a autenticação para ligar o Azure Databricks ao seu fornecedor Git. Veja Ligar o seu fornecedor Git ao Databricks.
- Aprenda sobre limites de tamanho e outras restrições para pastas Git. Veja limites das pastas do Databricks Git e referência.
- Configurar as definições ao nível do espaço de trabalho para integração com o Git. Consulte Configurar pastas Git do Databricks.