Definire le impostazioni e i criteri del repository Git
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Esistono diversi modi per personalizzare i repository Git di Azure Repos usando le impostazioni e i criteri del repository e dei rami. Questo articolo illustra le impostazioni e i criteri a livello di repository.
Le impostazioni e i criteri del repository configurano le opzioni globali per tutti i repository Git per un progetto o un'organizzazione o per singoli repository.
Questo articolo illustra le impostazioni e i criteri del repository lato server. Per informazioni sulle preferenze Git sul lato client, vedere Preferenze e impostazioni Git in Visual Studio.
I criteri di ramo riguardano i controlli specifici del ramo.
I criteri di ramo includono opzioni come la richiesta di una richiesta pull, una compilazione riuscita o una revisione del codice prima che le modifiche possano essere unite in un ramo. Per altre informazioni, vedere Branch policies and settings .For more information, see Branch policies and settings.
Le autorizzazioni di sicurezza del repository e del ramo controllano le assegnazioni utente.
Queste autorizzazioni controllano chi può leggere, scrivere, contribuire alle richieste pull ed eseguire altre azioni specifiche. Per altre informazioni, vedere Impostare le autorizzazioni per un repository.
Riepilogo di tutte le impostazioni e i criteri del repository e dei rami
È possibile configurare impostazioni e criteri per tutti i repository in un progetto, per i singoli repository e per i rami di repository. Nel browser si configurano tutte queste impostazioni e criteri tramite repository delle impostazioni>di Project.
Nota
È possibile impostare diverse impostazioni e criteri di ramo con l'interfaccia della riga di comando di Azure usando az repos policy.
Le tabelle seguenti riepilogano le impostazioni e i criteri che è possibile abilitare e configurare per repository e rami Git.
Tutte le impostazioni dei repository
La tabella seguente riepiloga le impostazioni che è possibile abilitare e configurare per tutti i nuovi repository Git in un progetto o in un'organizzazione.
Impostazione
Predefinita
Descrizione
Disattivato
Inizializzare nuovi repository con il nome predefinito del ramo specificato. È possibile modificare il ramo predefinito per un determinato repository in qualsiasi momento. Se non si abilita questa funzionalità, i repository vengono inizializzati con un ramo predefinito denominato main
.
Attivato
Consentire agli utenti di gestire le autorizzazioni per i rami creati in tutti i nuovi repository.
Impostazioni repository
La tabella seguente riepiloga le impostazioni che è possibile abilitare o configurare per ogni singolo repository Git.
Impostazione
Predefinita
Descrizione
Attivato
Consentire agli utenti di creare fork dal repository.
Attivato
Creare automaticamente collegamenti per gli elementi di lavoro menzionati in un commento di commit.
Attivato
Consenti menzioni nei commenti di commit per chiudere gli elementi di lavoro. Richiede l'aggiornamento di Azure DevOps Server 2020.1 o versione successiva.
Attivato
Ricordare le preferenze utente per completare gli elementi di lavoro con le richieste pull.
Attivato
Consentire agli utenti di gestire le autorizzazioni per i rami creati
Attivato
Abilitare strict vote mode per il repository, che richiede l'autorizzazione Di collaborazione per votare le richieste pull.
Attivato
Disabilitare l'accesso al repository, incluse le compilazioni e le richieste pull, ma mantenere il repository individuabile con un avviso.
Attivato
Criteri o opzioni del repository
La tabella seguente riepiloga i criteri o le opzioni che è possibile impostare per tutti o i singoli repository. I criteri impostati per Tutti i repository impostano il valore predefinito per i singoli repository aggiunti in un secondo momento.
Criterio o opzione
Predefinita
Descrizione
Disattivato
Blocca i push con un messaggio di posta elettronica dell'autore del commit che non corrisponde ai modelli specificati. Questa impostazione richiede Azure DevOps Server 2020.1 o versione successiva.
Disattivato
Blocca l'introduzione di percorsi di file che corrispondono ai modelli specificati. Questa impostazione richiede Azure DevOps Server 2020.1 o versione successiva.
Disattivato
Evitare conflitti di distinzione tra maiuscole e minuscole bloccando i push che modificano la combinazione di maiuscole e minuscole nei file, nelle cartelle, nei rami e nei tag.
Disattivato
Blocca i push che introducono file, cartelle o nomi di rami che includono nomi riservati della piattaforma o caratteri incompatibili.
Disattivato
Blocca i push che introducono percorsi che superano la lunghezza specificata.
Disattivato
Blocca i push che contengono file nuovi o aggiornati superiori al limite selezionato.
Criteri ramo
La tabella seguente riepiloga i criteri che è possibile definire per personalizzare un ramo. Per altre informazioni sulla configurazione di queste impostazioni, vedere Migliorare la qualità del codice con i criteri dei rami. Quando si impostano criteri in un ramo, vengono applicati automaticamente i criteri seguenti:
- Le richieste pull sono necessarie per aggiornare il ramo.
- Il ramo non può essere eliminato.
Nota
I criteri di ramo vengono applicati alle richieste pull in base al ramo di destinazione della richiesta pull. I criteri di ramo non devono essere impostati in rami temporanei che verranno eliminati dopo una richiesta pull. L'aggiunta di criteri di ramo a rami temporanei causerà l'esito negativo dell'eliminazione automatica dei rami.
Criteri
Predefinita
Descrizione
Disattivato
Richiedere l'approvazione da un numero specificato di revisori nelle richieste pull.
Disattivato
Incoraggiare la tracciabilità controllando la presenza di elementi di lavoro collegati nelle richieste pull.
Disattivato
Verificare che tutti i commenti siano stati risolti nelle richieste pull.
Disattivato
Controllare la cronologia dei rami limitando i tipi di merge disponibili al termine delle richieste pull.
Disattivato
Aggiungere, abilitare o disabilitare uno o più criteri per convalidare il codice mediante l'unione preliminare e la compilazione delle modifiche delle richieste pull.
Disattivato
Aggiungere, abilitare o disabilitare uno o più criteri per richiedere ad altri servizi di pubblicare lo stato corretto per completare le richieste pull.
Disattivato
Aggiungere, abilitare o disabilitare uno o più criteri per designare i revisori del codice da includere automaticamente quando le richieste pull modificano determinate aree di codice.
Prerequisiti
- Per configurare i criteri, è necessario essere membri del gruppo di sicurezza Project Administrators o disporre delle autorizzazioni di modifica a livello di repository. Per altre informazioni, vedere Impostare le autorizzazioni del repository Git.
- Per usare i comandi az repos , assicurarsi di seguire la procedura descritta in Introduzione all'interfaccia della riga di comando di Azure DevOps.
- Per configurare i criteri, è necessario essere membri del gruppo di sicurezza Project Administrators o disporre delle autorizzazioni di modifica a livello di repository. Per altre informazioni, vedere Impostare le autorizzazioni del repository Git.
Visualizzare e modificare impostazioni e criteri
È possibile configurare le impostazioni per tutti i repository in un'organizzazione o in un progetto o per singoli repository. È possibile configurare i criteri per tutti i repository, per i singoli repository o per i rami specificati tra i repository. Per informazioni sull'impostazione dei criteri dei rami, vedere Criteri di ramo.
Nota
È consigliabile configurare le impostazioni del repository a livello di progetto o per singoli repository, ma non entrambi. Se si configurano le impostazioni a più livelli, il sistema rispetta l'impostazione più restrittiva. La configurazione delle impostazioni a un solo livello riduce la confusione e i problemi di prestazioni git.
Per configurare le impostazioni e i criteri del repository tramite il portale Web, aprire Repository impostazioni>progetto dal Web browser.
Per visualizzare o modificare impostazioni o criteri per tutti i repository Git, aprire la pagina Tutti i repository e scegliere Impostazioni o criteri.
Per configurare impostazioni e criteri per un repository specifico, selezionare la scheda Repository , scegliere il repository e quindi scegliere la scheda Impostazioni o Criteri .
Lo screenshot seguente mostra la scheda Impostazioni selezionata. È possibile definire queste impostazioni per tutti i repository Git o per un singolo repository.
Lo screenshot seguente mostra la scheda Criteri selezionata. È possibile definire questi criteri per tutti i repository Git o per un singolo repository.
Dal Web browser aprire il progetto e scegliere Impostazioni progetto, Repository e selezionare il repository.
Per visualizzare e configurare le impostazioni del repository, selezionare Opzioni o Criteri.
Lo screenshot seguente mostra Opzioni per tutti i repository:
Lo screenshot seguente mostra Opzioni per i repository Fabrikam:
Nome del ramo predefinito
È possibile impostare un nome di ramo del repository predefinito a livello di organizzazione o progetto. L'impostazione a livello di organizzazione ha effetto per tutti i nuovi repository in tutti i progetti dell'organizzazione. L'impostazione a livello di progetto influisce su tutti i nuovi repository in un progetto e sostituisce qualsiasi nome impostato a livello di organizzazione.
È possibile:
- Scegliere un nome di ramo legale da usare quando viene inizializzato un repository.
- Modificare il nome predefinito in qualsiasi momento per influire su tutti i repository futuri.
- Modificare il nome predefinito del ramo per qualsiasi repository specifico in qualsiasi momento.
Se non si abilita la funzionalità del nome del ramo predefinito, i repository vengono inizializzati con il nome main
predefinito del ramo di Azure Repos.
Per impostare un nome di ramo predefinito a livello di organizzazione:
- Nella pagina dell'organizzazione Azure DevOps selezionare Impostazioni organizzazione in basso a sinistra e quindi selezionare Repository nel riquadro di spostamento a sinistra.
- Nella pagina Tutti i repository impostare Nome ramo predefinito per i nuovi repository su Sì e quindi immettere un nome di ramo predefinito.
Per impostare un nome di ramo predefinito a livello di progetto:
- Nella pagina del progetto Azure DevOps selezionare Impostazioni progetto in basso a sinistra e quindi selezionare Repository nel riquadro di spostamento a sinistra.
- Nella scheda Impostazioni della pagina Tutti i repository impostare Nome ramo predefinito per i nuovi repository su Sì e quindi immettere un nome di ramo predefinito.
Nota
L'impostazione Nome ramo predefinito per i nuovi repository richiede Azure DevOps Server 2020.1 o versione successiva.
Gestione delle autorizzazioni del ramo
È possibile controllare chi può gestire le autorizzazioni per i rami del repository impostando un'impostazione di gestione delle autorizzazioni per tutti i repository Git o per singoli repository. Se si abilita l'impostazione Consenti agli utenti di gestire le autorizzazioni per i rami creati a livello di Tutti i repository , tutti i nuovi repository di progetto vengono configurati per consentire agli utenti di gestire le autorizzazioni per i rami creati.
Per gestire questa impostazione:
- Nella pagina del progetto Azure DevOps selezionare Impostazioni progetto in basso a sinistra e quindi selezionare Repository nel riquadro di spostamento a sinistra.
- Nella scheda Impostazioni della pagina Tutti i repository impostare Consenti agli utenti di gestire le autorizzazioni per i rami creati su Sì o No.
Per abilitare o disabilitare questa impostazione per singoli repository:
- Selezionare Repository impostazioni>progetto e quindi selezionare un repository.
- Nella scheda Impostazioni della< pagina Nome> repository impostare Gestione autorizzazioni su Attivato o Disattivato.
Immagini gravatar
Questa impostazione abilita o disabilita l'uso di immagini Gravatar per gli utenti esterni all'azienda.
Le immagini gravatar sono un'impostazione a livello di organizzazione.
- Nella pagina dell'organizzazione Azure DevOps selezionare Impostazioni organizzazione in basso a sinistra e quindi selezionare Repository nel riquadro di spostamento a sinistra.
- Nella pagina Tutti i repository impostare Immagini Gravatar su Sì o No.
Le immagini gravatar sono un'impostazione a livello di progetto per Tutti i repository.
- Nella pagina del progetto Azure DevOps selezionare Impostazioni progetto in basso a sinistra e quindi selezionare Repository nel riquadro di spostamento a sinistra.
- Nella scheda Impostazioni della pagina Tutti i repository impostare Immagini Gravatar su Attivato o Disattivato.
Le immagini gravatar sono un'impostazione a livello di progetto per Tutti i repository.
- Nella pagina del progetto Azure DevOps selezionare Impostazioni progetto in basso a sinistra e quindi selezionare Repository nel riquadro di spostamento a sinistra.
- Nella scheda Impostazioni della pagina Tutti i repository impostare Immagini Gravatar su Attivato o Disattivato.
Abilitare i fork
Questa impostazione del repository controlla se gli utenti possono creare nuovi fork lato server. La disabilitazione di questa impostazione non rimuove i fork esistenti.
- In Impostazioni progetto selezionare Repository nel riquadro di spostamento a sinistra.
- Nella scheda Repository della pagina Tutti i repository selezionare un repository.
- Nella scheda Impostazioni della <pagina Nome> repository impostare Forks su Attivato o Disattivato.
Impostazioni di collegamento degli elementi di lavoro
Queste impostazioni del repository gestiscono il collegamento degli elementi di lavoro.
- Selezionare Repository impostazioni>progetto e quindi selezionare un repository.
- Nella scheda Impostazioni della< pagina Nome> repository attivare o disattivare le impostazioni.
Commit mention linking
Se abilitata, i messaggi di commit contenenti #
un ID elemento di lavoro valido collegano automaticamente il commit a tale elemento di lavoro. Disabilitare questa impostazione se in precedenza il repository usava un account o un servizio diverso. Questi repository potrebbero avere messaggi di commit con #
menzioni che non corrispondono agli ID degli elementi di lavoro nell'account corrente.
Confermare la risoluzione degli elementi di lavoro
Abilitare questa impostazione per completare automaticamente gli elementi di lavoro al termine delle richieste pull collegate. Questa impostazione consente anche di specificare altri stati di transizione degli elementi di lavoro nei messaggi di commit della richiesta pull. Per altre informazioni, vedere Completamento automatico degli elementi di lavoro con richieste pull.
Confermare la risoluzione degli elementi di lavoro
Abilitare questa impostazione per completare automaticamente tali elementi di lavoro al termine della richiesta pull. Per altre informazioni, vedere Completamento automatico degli elementi di lavoro con richieste pull.
Preferenze di transizione degli elementi di lavoro
Per impostazione predefinita, l'opzione per completare gli elementi di lavoro collegati durante il completamento della richiesta pull ricorda l'ultima scelta di ogni utente. I team che vogliono scoraggiare gli utenti a completare gli elementi di lavoro con le richieste pull possono disabilitare questa impostazione. Gli utenti devono quindi acconsentire esplicitamente al completamento degli elementi di lavoro ogni volta che completano una richiesta pull.
Impostazione Modalità voto strict
In determinate situazioni, gli utenti che non sono collaboratori a un repository possono inviare una richiesta pull e causare il merge, a seconda dei criteri. Per evitare questa possibilità, abilitare Strict Vote Mode per modificare l'autorizzazione necessaria per votare le richieste pull del repository per Contribuire. Se si usa un fork utente in Azure Repos, è consigliabile abilitare questa impostazione.
- Selezionare Repository impostazioni>progetto e quindi selezionare un repository.
- Nella scheda Impostazioni della <pagina Nome> repository impostare Strict Vote Mode su Attivato o Disattivato.
Disabilitare l'impostazione del repository
L'abilitazione di questa impostazione disabilita l'accesso al repository, incluse le compilazioni e le richieste pull, ma mantiene il repository individuabile con un avviso.
- Selezionare Repository impostazioni>progetto e quindi selezionare un repository.
- Nella scheda Impostazioni della< pagina Nome> repository, in Disabilita repository impostare Disabilita repository su Attivato o Disattivato.
Impostazione dei rami ricercabili
Per impostazione predefinita, la ricerca di codice nei file si applica solo al ramo predefinito. È possibile aggiungere fino a cinque rami per la ricerca.
Importante
Per cercare il codice nei repository, è necessario installare l'estensione Ricerca codice marketplace. Se nella scheda Impostazioni repository non è presente rami ricercabili, assicurarsi di aver installato l'estensione.
Per aggiungere rami per la ricerca di codice:
- Selezionare Repository impostazioni>progetto e quindi selezionare un repository.
- Nella scheda Impostazioni della< pagina Nome> repository selezionare in + Rami ricercabili.
- Selezionare un ramo da includere nella ricerca e quindi selezionare Aggiungi ramo.
Criteri dei rami tra repository
È possibile impostare criteri per un nome di ramo specifico o nel ramo predefinito in tutti i repository di un progetto. Ad esempio, è possibile richiedere due revisori minimi per tutte le richieste pull in ogni main
ramo per tutti i repository di progetti.
Per impostare i criteri per proteggere nomi di rami specifici o predefiniti in un progetto:
In Impostazioni progetto selezionare Repository nel riquadro di spostamento a sinistra.
Nella pagina Tutti i repository selezionare la scheda Criteri .
Selezionare il segno più + in Criteri di ramo nella parte inferiore della pagina.
Nella schermata Aggiungi protezione ramo selezionare Proteggi il ramo predefinito di ogni repository oppure Proteggi rami correnti e futuri corrispondenti a un modello specificato.
Se si seleziona la seconda opzione, immettere il nome del ramo da proteggere. Un messaggio informativo consente di conoscere il numero di rami correnti interessati. Il ramo non deve ancora esistere per proteggere il nome del ramo.
Seleziona Crea.
Nella pagina Criteri tra repository per <il nome> del ramo impostare i criteri desiderati per i rami protetti. Per altre informazioni sui criteri dei rami, vedere Criteri di ramo.
Eseguire il commit dei criteri di convalida della posta elettronica dell'autore
Questo criterio blocca il commit in un repository da parte degli autori di commit i cui indirizzi di posta elettronica non corrispondono a un modello.
Selezionare Repository impostazioni>progetto e selezionare un repository se si vuole configurare solo il repository.
Nella scheda Criteri della pagina Tutti i repository o <Nome repository, in Criteri repository> impostare Conferma convalida della posta elettronica dell'autore su Sì o No.
Se si attiva il criterio, specificare l'indirizzo di posta elettronica o gli indirizzi corrispondenti.
È possibile specificare indirizzi di posta elettronica esatti o usare caratteri jolly. Usare
;
come separatore per più modelli di posta elettronica. I modelli di posta elettronica preceduti da!
sono esclusi. L'ordine è importante.
Criteri di convalida del percorso file
È possibile impostare un criterio che impedisce il commit in un repository da percorsi di file che corrispondono a un modello.
Selezionare Repository impostazioni>progetto e selezionare un repository se si vuole configurare solo il repository.
Nella scheda Criteri della pagina Tutti i repository o <Nome repository, in Criteri repository> impostare Convalida percorso file su Sì o No.
Se si attiva il criterio, specificare il percorso o i percorsi da bloccare.
È possibile specificare percorsi e caratteri jolly esatti. I percorsi esatti iniziano con
/
. È anche possibile specificare più percorsi usando;
come separatore. I percorsi preceduti da!
sono esclusi. L'ordine è importante.
Criteri di imposizione dei casi
Git fa distinzione tra maiuscole e minuscole, ovvero un file denominato Foo.txt è diverso da un file denominato foo.txt. Tuttavia, Per impostazione predefinita, Windows e macOS sono file system senza distinzione tra maiuscole e minuscole, ovvero Foo.txt e foo.txt sono uguali. Questa discrepanza può causare problemi se un utente di un sistema senza distinzione tra maiuscole e minuscole esegue il push di file, cartelle, rami o tag che differiscono solo per maiuscole e minuscole. Per altre informazioni, vedere Compatibilità multipiattaforma Git.
Se la maggior parte dei collaboratori si trovano in Windows o macOS, è consigliabile abilitare i criteri di imposizione dei casi. L'imposizione delle maiuscole e minuscole passa dal server alla modalità predefinita con distinzione tra maiuscole e minuscole, in cui File.txt e file.txt sono distinti, in una modalità compatibile con Windows e macOS in cui File.txt e file.txt vengono considerati lo stesso file. Questa impostazione interessa file, cartelle, rami e tag.
Questa impostazione impedisce ai collaboratori di introdurre differenze di sola distinzione tra maiuscole e minuscole. L'impostazione evita conflitti di distinzione tra maiuscole e minuscole bloccando i push che modificano la combinazione di maiuscole e minuscole nei file, nelle cartelle, nei rami e nei tag. L'utente deve riscrivere la cronologia non crittografata per risolvere il problema, quindi riprovare a eseguire il push.
Questa impostazione non correggerà un repository che contiene già oggetti che differiscono solo per caso. È consigliabile risolvere questi problemi prima di attivare il criterio. Rinominare file e cartelle o ricreare rami e tag per usare nomi non in conflitto.
Per impostare i criteri di imposizione dei casi:
- Selezionare Repository impostazioni>progetto e selezionare un repository se si vuole configurare solo il repository.
- Nella scheda Criteri della pagina Tutti i repository o <Nome repository, in Criteri repository> impostare Applicazione del caso su Attivato o Disattivato.
Criteri per i nomi riservati
Non tutti i nomi file sono consentiti nei tre file system principali del sistema operativo: Windows, macOS e Linux. I commit in un repository condiviso possono contenere nomi di file o cartelle non validi in una o più piattaforme. Se i file o le cartelle non validi vengono recuperati ed estratti su queste piattaforme, le directory di lavoro possono diventare danneggiate. Per altre informazioni, vedere Compatibilità multipiattaforma Git.
È possibile abilitare o disabilitare i criteri per applicare restrizioni ai nomi di file e cartelle. L'impostazione Nomi riservati blocca il push in un repository che contiene nomi di file o cartelle non validi in tutte le piattaforme. Per visualizzare i nomi non validi, vedere Compatibilità multipiattaforma Git.
Per impostare i criteri dei nomi riservati:
- Selezionare Repository impostazioni>progetto e selezionare un repository se si vuole configurare solo il repository.
- Nella scheda Criteri della pagina Tutti i repository o <Nome repository, in Criteri repository> impostare Nomi riservati su Sì o No.
Criterio lunghezza massima percorso
Non tutte le lunghezze di percorso sono consentite nei tre principali file system del sistema operativo: Windows, macOS e Linux. I commit in un repository condiviso possono contenere file o directory con lunghezze di percorso non valide in una o più piattaforme. Se questi file o directory vengono recuperati ed estratto in una piattaforma in cui non sono validi, le directory di lavoro possono essere danneggiate. Per altre informazioni, vedere Compatibilità multipiattaforma Git.
L'impostazione Lunghezza massima percorso blocca i push che contengono file o directory con lunghezze di percorso non valide in qualsiasi piattaforma. Per informazioni sulle lunghezze del percorso non valide, vedere Compatibilità multipiattaforma Git. Quando si abilita questa impostazione, il valore massimo predefinito è 248
, perché tale lunghezza massima è supportata al 100% in tutte e tre le piattaforme principali.
È possibile modificare il valore massimo del percorso. Ad esempio, se nell'organizzazione sono presenti solo sviluppatori macOS o Linux, è possibile scegliere di impostare la lunghezza massima sul valore supportato in entrambe le piattaforme, 1016
. È anche possibile scegliere di impostare un valore di percorso massimo inferiore per applicare le convenzioni di denominazione della directory dell'organizzazione.
Per impostare i criteri di lunghezza massima del percorso:
- Selezionare Repository impostazioni>progetto e selezionare un repository se si vuole configurare solo il repository.
- Nella scheda Criteri della pagina Tutti i repository o <Nome repository, in Criteri repository> impostare Lunghezza massima percorso su Sì o No.
- Se è stata attivata l'impostazione, immettere una lunghezza massima del percorso.
Criteri di dimensioni massime dei file
I file di grandi dimensioni archiviati in Git rimangono nel repository a tempo indeterminato, aumentando i tempi di clonazione e l'utilizzo del disco. Per indicazioni sulla gestione di file di grandi dimensioni, vedere Gestire e archiviare file di grandi dimensioni in Git.
L'impostazione dei criteri Dimensioni massime file impedisce ai file di una determinata dimensione di immettere il repository. Se un push contiene un file nuovo o aggiornato superiore al limite configurato in questa impostazione, il push viene bloccato. L'utente deve riscrivere la cronologia non crittografata per rimuovere il file di grandi dimensioni e riprovare a eseguire il push.
Per configurare il criterio Dimensioni massime file:
- Selezionare Repository impostazioni>progetto e selezionare un repository se si vuole configurare solo il repository.
- Nella scheda Criteri della pagina Tutti i repository o <Nome repository, in Criteri repository> impostare Dimensioni massime file su Attivato o Disattivato.
- Se è stata attivata l'impostazione, selezionare una dimensione massima del file.