Controllo della versione Git per notebook (legacy)

Importante

Il supporto dell'integrazione git del notebook legacy è stato rimosso il 31 gennaio 2024. Databricks consiglia di usare le cartelle Git di Databricks per sincronizzare il lavoro in Databricks con un repository Git remoto.

Questo articolo descrive come configurare il controllo della versione Git per i notebook (funzionalità legacy). È anche possibile usare l'interfaccia della riga di comando di Databricks o l'API dell'area di lavoro per importare ed esportare notebook e per eseguire operazioni Git nell'ambiente di sviluppo locale.

Abilitare e disabilitare il controllo delle versioni di Git

Il controllo della versione è abilitato per impostazione predefinita. Per attivare o disattivare questa impostazione:

  1. Passare a Impostazioni Impostazioni>area di lavoro.
  2. Nella sezione Avanzate deselezionare l'interruttore Controllo delle versioni Git notebook.

Configurare il controllo della versione

Per configurare il controllo della versione, creare le credenziali di accesso nel provider Git, quindi aggiungere tali credenziali ad Azure Databricks.

Usare le versioni dei notebook

È possibile usare le versioni dei notebook nel pannello della cronologia. Aprire il pannello della cronologia facendo clic Icona della cronologia delle versioni sulla barra laterale destra.

Cronologia delle versioni

Nota

Non è possibile modificare un notebook mentre il pannello della cronologia è aperto.

  1. Fare clic Icona della cronologia delle versioni sulla barra laterale destra. La barra di stato git visualizza Git: Non collegato.

    Barra di stato Git

  2. Fare clic su Git: Non collegato.

    Verrà visualizzata la finestra di dialogo Preferenze Git. La prima volta che si apre il notebook, lo stato è Scollega, perché il notebook non si trova in GitHub.

    Preferenze Git - Collegare un nuovo notebook

  3. Nel campo Stato fare clic su Collegamento.

  4. Nel campo Collegamento incollare l'URL del repository GitHub.

  5. Fare clic sull'elenco a discesa Ramo e selezionare un ramo o digitare il nome di un nuovo ramo.

  6. Nel campo Percorso nella cartella Git specificare dove archiviare il file nel repository.

    I notebook Python hanno l'estensione .pydi file predefinita suggerita. Se si usa .ipynb, il notebook verrà salvato in formato notebook iPython. Se il file esiste già in GitHub, è possibile copiare e incollare direttamente l'URL del file.

  7. Fare clic su Salva per completare il collegamento del notebook. Se questo file non esisteva in precedenza, verrà visualizzata una richiesta con l'opzione Salva questo file nel repository GitHub.

  8. Digitare un messaggio e fare clic su Salva.

Salvare un notebook in GitHub

Anche se le modifiche apportate al notebook vengono salvate automaticamente nella cronologia delle versioni di Azure Databricks, le modifiche non vengono mantenute automaticamente in GitHub.

  1. Fare clic Icona della cronologia delle versioni sulla barra laterale destra per aprire il pannello della cronologia.

    Pannello Cronologia - Salva ora

  2. Fare clic su Salva ora per salvare il notebook in GitHub. Verrà visualizzata la finestra di dialogo Salva versione notebook.

  3. Facoltativamente, immettere un messaggio per descrivere la modifica.

  4. Assicurarsi che sia selezionato Anche il commit in Git .

    Salvare la versione

  5. Fare clic su Salva.

Ripristinare o aggiornare un notebook a una versione da GitHub

Dopo aver collegato un notebook, Azure Databricks sincronizza la cronologia con Git ogni volta che si riapri il pannello della cronologia. Le versioni sincronizzate con Git includono hash di commit come parte della voce.

  1. Fare clic Icona della cronologia delle versioni sulla barra laterale destra per aprire il pannello della cronologia.

    Pannello Cronologia

  2. Scegliere una voce nel pannello della cronologia. Azure Databricks visualizza tale versione.

  3. Fare clic su Ripristina questa versione.

  4. Fare clic su Conferma per confermare che si vuole ripristinare tale versione.

  1. Fare clic Icona della cronologia delle versioni sulla barra laterale destra per aprire il pannello della cronologia.

  2. La barra di stato git visualizza Git: Sincronizzata.

    Pannello Cronologia - Salva immagine

  3. Fare clic su Git: Sincronizzato.

    Preferenze Git - Scollegare il notebook

  4. Nella finestra di dialogo Preferenze Git fare clic su Scollega.

  5. Fare clic su Salva.

  6. Fare clic su Conferma per confermare che si vuole scollegare il notebook dal controllo della versione.

Utilizzare i rami

È possibile usare qualsiasi ramo del repository e creare nuovi rami all'interno di Azure Databricks.

Creare un ramo

  1. Fare clic Icona della cronologia delle versioni sulla barra laterale destra per aprire il pannello della cronologia.

  2. Fare clic sulla barra di stato git per aprire il pannello GitHub.

  3. Fare clic sull'elenco a discesa Ramo .

  4. Immettere un nome di ramo.

    Crea ramo

  5. Selezionare l'opzione Crea ramo nella parte inferiore dell'elenco a discesa. Il ramo padre è indicato. Si esegue sempre il ramo dal ramo corrente selezionato.

Crea una richiesta pull

  1. Fare clic Icona della cronologia delle versioni sulla barra laterale destra per aprire il pannello della cronologia.

  2. Fare clic sulla barra di stato git per aprire il pannello GitHub.

    Preferenze Git - Creare una richiesta pull

  3. Fare clic su Crea richiesta pull. GitHub apre una pagina di richiesta pull per il ramo.

Ribase di un ramo

È anche possibile ribasere il ramo all'interno di Azure Databricks. Il collegamento Rebase visualizza se i nuovi commit sono disponibili nel ramo padre. È supportato solo il rebasing sul ramo predefinito del repository padre.

Ribase

Si supponga, ad esempio, di lavorare su databricks/reference-apps. È possibile crearne il fork nel proprio account ( ad esempio , brkyvz) e iniziare a lavorare su un ramo denominato my-branch. Se viene eseguito il push di un nuovo aggiornamento in databricks:master, il Rebase pulsante viene visualizzato e sarà possibile eseguire il pull delle modifiche nel ramo brkyvz:my-branch.

La ribasatura funziona in modo leggermente diverso in Azure Databricks. Si supponga la struttura di ramo seguente:

Prima di ribasere la struttura dei rami

Dopo una ribase, la struttura del ramo è simile alla seguente:

Dopo la struttura del ramo di ribase

Ciò che è diverso in questo caso è che i commit C5 e C6 non si applicano sopra C4. Vengono visualizzate come modifiche locali nel notebook. I conflitti di merge vengono visualizzati come segue:

Conflitto di merge

È quindi possibile eseguire nuovamente il commit in GitHub usando il pulsante Salva ora .

Cosa succede se qualcuno si è diramato dal ramo che ho appena ribasato?

Se il ramo (ad esempio, branch-a) è la base per un altro ramo (branch-b) e si esegue la ribase, non è necessario preoccuparsi. Una volta che un utente ribase branch-banche , tutto funzionerà. La procedura consigliata in questa situazione consiste nell'usare rami separati per notebook separati.

Procedure consigliate per le revisioni del codice

Azure Databricks supporta la diramazione Git.

  • È possibile collegare un notebook a qualsiasi ramo in un repository. Azure Databricks consiglia di usare un ramo separato per ogni notebook.
  • Durante lo sviluppo, è possibile collegare un notebook a un fork di un repository o a un ramo non predefinito nel repository principale. Per integrare le modifiche upstream, è possibile usare il collegamento Crea richiesta pull nella finestra di dialogo Preferenze Git in Azure Databricks per creare una richiesta pull di GitHub. Il collegamento Crea richiesta pull viene visualizzato solo se non si lavora sul ramo predefinito del repository padre.

Risoluzione dei problemi

Se si ricevono errori relativi alla sincronizzazione della cronologia di GitHub, verificare quanto segue:

  • È possibile collegare un notebook solo a un repository Git inizializzato non vuoto. Testare l'URL in un Web browser.
  • Il token di accesso personale di GitHub deve essere attivo.
  • Per usare un repository GitHub privato, è necessario disporre dell'autorizzazione per leggere il repository.
  • Se un notebook è collegato a un ramo GitHub rinominato, la modifica non viene riflessa automaticamente in Azure Databricks. È necessario collegare di nuovo il notebook al ramo manualmente.

Eseguire la migrazione alle cartelle Git di Databricks

Gli utenti che devono eseguire la migrazione alle cartelle Git di Databricks dal controllo della versione Git legacy possono usare la guida seguente: