Pubblicare il repository per abilitare la collaborazione

Completato

Si è appreso in che modo Git consente di tenere traccia delle modifiche apportate al codice Bicep. In questa unità verrà illustrato in che modo Git consente anche la collaborazione con i membri del team.

Nota

I comandi riportati in questa unità vengono illustrati per spiegare i concetti. Non eseguire ancora i comandi. Presto sarà possibile provare quanto appreso.

Che cosa sono GitHub e Azure Repos?

Git è il software che viene installato ed eseguito nel proprio computer. Come si è visto, Git tiene traccia delle modifiche apportate ai file. Rende disponibili funzionalità come la creazione di rami.

GitHub e Azure Repos sono servizi online che mantengono copie del repository Git e consentono lo sviluppo collaborativo. Dopo l'iscrizione a GitHub o ad Azure Repos, si continua a lavorare con Git usando gli stessi comandi già in uso. Si continua a lavorare sul repository Git locale. La differenza è che è possibile sincronizzare il repository Git locale con un repository online. È anche possibile concedere l'accesso al repository online ad altre persone e controllare se possono leggere o modificare il codice.

Nota

Azure Repos è una funzionalità di Azure DevOps. Per lavorare con Azure Repos, si usa il sito Web Azure DevOps.

In un ambiente di team, ogni membro mantiene il proprio repository Git locale e lo sincronizza con la copia online. Nella maggior parte dei casi, la copia online diventa la fonte di attendibilità per il team.

In un modulo futuro si apprenderà come distribuire il codice Bicep tramite una pipeline di distribuzione automatizzata. Le pipeline richiedono che il codice venga archiviato in un repository online. La pipeline accede al codice anche da questa posizione.

Nota

GitHub e Azure DevOps sono ottime opzioni per ospitare il repository Git. L'organizzazione potrebbe già usarne uno. Se non si ha già una preferenza, è consigliabile usare GitHub perché in genere è più facile da iniziare a usare.

Repository locali e remoti

Quando si lavora con i repository ospitati in GitHub o in Azure DevOps, si configura il repository Git locale in modo che riconosca il repository remoto. Un repository online ha un URL che Git può usare per accedervi dal computer. Per convenzione, il termine origine si riferisce al repository remoto con cui viene sincronizzato il repository locale.

È anche necessario configurare i rami di verifica, che indicano a Git che un ramo del repository locale rappresenta lo stesso ramo nel repository online. Questo rilevamento è particolarmente importante per il ramo main, che dovrà essere sincronizzato con tutti i repository. È possibile abilitare la traccia anche in altri rami.

Nota

Il team potrebbe avere già creato un repository da visualizzare o modificare. È possibile ottenere rapidamente una copia del repository clonando il repository online con il comando git clone.

Dopo aver configurato il repository locale e il ramo di verifica, è possibile eseguire il push del contenuto del repository locale nel repository remoto. È anche possibile eseguire il pull delle modifiche del repository remoto nel repository locale.

Nota

L'operazione git pull scarica le modifiche dal repository remoto e quindi ne esegue il merge, esattamente come quando si esegue il merge dei rami. In alcuni casi si può scegliere di scaricare solo le modifiche dal repository remoto, ad esempio se si vuole aggiornare l'elenco dei rami remoti del repository locale. A tale scopo, usare il comando git fetch.

Authentication

Quando si inizia a lavorare con i repository online, la sicurezza diventa importante. Il codice sorgente per l'infrastruttura e le applicazioni è prezioso e deve essere protetto.

GitHub e Azure DevOps prevedono processi di sicurezza completi. Entrambi richiedono l'autenticazione prima di iniziare a lavorare con i repository remoti ospitati nelle rispettive piattaforme.

La prima volta che si prova a usare un repository remoto, viene richiesto di accedere a GitHub o ad Azure DevOps. Alcune organizzazioni proteggono i repository Git con controlli di sicurezza aggiuntivi, ad esempio l'autenticazione a più fattori. Dopo aver eseguito l'accesso, Git usa il componente Git Credential Manager per mantenere l'accesso, per cui non è necessario ripeterlo ogni volta.

Collaborazione con altri utenti

Dopo aver configurato il repository Git in GitHub o in Azure Repos, è possibile collaborare con altre persone. È possibile usare molte funzionalità per collaborare con il team. Una funzionalità in particolare che è opportuno conoscere è quella delle richieste pull.

Una richiesta pull è in realtà un merge controllato di due rami. GitHub o Azure Repos può applicare criteri riguardo a chi può eseguire il merge e per quali tipi di modifiche.

Un flusso di lavoro tipico del team consiste in un membro che apporta le modifiche al proprio codice in un ramo e quindi crea una richiesta pull per chiedere a un altro membro di eseguire il merge delle sue modifiche nel ramo main. Gli altri membri del team possono visualizzare l'elenco delle modifiche nella richiesta pull. Tali membri del team possono anche inviare feedback sulle modifiche o richiedere revisioni prima di accettarle. Le richieste pull offrono la possibilità di controllare la qualità dell'intero codice del team.

Le richieste pull e altre funzionalità di collaborazione esulano dall'ambito di questo modulo, ma nel riepilogo sono disponibili i collegamenti ad altre informazioni.