Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Grenprinciper hjälper team att skydda sina viktiga utvecklingsgrenar . Principer tillämpar teamets standarder för kodkvalitet och ändringshantering. I den här artikeln beskrivs hur du ställer in och hanterar grenprinciper. En översikt över alla principer och inställningar för lagringsplats och gren finns i Inställningar och principer för Git-lagringsplats.
En gren med nödvändiga principer som konfigurerats kan inte tas bort och kräver pull-begäranden (PR) för alla ändringar.
Förutsättningar
Om du vill ange grenprinciper måste du vara medlem i säkerhetsgruppen Projektadministratörer eller ha behörigheter för redigeringsprinciper på lagringsplatsnivå. Mer information finns i Ange Behörigheter för Git-lagringsplats.
Om du vill ange grenprinciper måste du vara medlem i säkerhetsgruppen Projektadministratörer eller ha behörigheter för redigeringsprinciper på lagringsplatsnivå. Mer information finns i Ange Behörigheter för Git-lagringsplats.
Om du vill hantera grenprinciper väljer du Repos Branch (Lagringsgrenar>) för att öppna sidan Grenar i webbportalen.
Du kan också komma åt förgreningsprincipinställningar med Project Settings Repository Policies Branch Policies Branch Name.You can get to branch policy settings with Project Settings>Repository>Policies>Branch Policies<>Branch Name.>
Grenar som har principer visar en principikon. Du kan välja ikonen för att gå direkt till grenens principinställningar.
Om du vill ange grenprinciper letar du upp den gren som du vill hantera. Du kan bläddra i listan eller söka efter din gren i rutan Sök grennamn uppe till höger.
Välj ikonen Fler alternativ bredvid grenen och välj sedan Grenprinciper på snabbmenyn.
Leta upp din gren på sidan. Du kan bläddra i listan eller söka efter din gren med hjälp av rutan Sök alla grenar i det övre högra hörnet.
Välj knappen ... . Välj Grenprinciper på snabbmenyn.
Konfigurera principer på grenens inställningssida. Se följande avsnitt för beskrivningar och instruktioner för varje principtyp.
Konfigurera dina principer på sidan Principer . Se följande avsnitt för beskrivningar av varje principtyp. Välj Spara ändringar för att tillämpa den nya principkonfigurationen.
Du kan använda Azure DevOps CLI för att lista eller visa principer för en gren eller lagringsplats.
Lista principer
Om du vill visa en lista över alla principer i ett projekt använder du az repos policy list.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parameters
Parameter
Description
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
query-examples
Rekommenderad JMESPath-sträng. Du kan kopiera en av frågorna och klistra in den efter parametern --query inom dubbla citattecken för att se resultatet. Du kan lägga till ett eller flera positionsnyckelord så att förslag baseras på dessa nyckelord.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Exempel
Följande kommando returnerar alla förgreningsprinciper som gäller i grenen main på Fabrikam-lagringsplatsen, ID d28cd374-e7f0-4b1f-ad60-f349f155d47c. Du kan hämta lagringsplatsens ID genom att köra az repos list.
I det här exemplet används följande standardkonfiguration: az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy list --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --branch main --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
5 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
6 Comment requirements False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
12 Required reviewers True False d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
query-examples
Rekommenderad JMESPath-sträng. Du kan kopiera en av frågorna och klistra in den efter parametern --query inom dubbla citattecken för att se resultatet. Du kan lägga till ett eller flera positionsnyckelord så att förslag baseras på dessa nyckelord.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Kräv ett minsta antal granskare
Kodgranskningar är viktiga för programutvecklingsprojekt. För att säkerställa att team granskar och godkänner pr-begäranden kan du kräva godkännande från ett minsta antal granskare. Den grundläggande principen kräver att ett angivet antal granskare godkänner koden, utan avvisanden.
Om du vill ange principen under Avdelningsprinciper anger du Kräv ett minsta antal granskare till På. Ange det antal granskare som krävs och välj något av följande alternativ:
Välj Tillåt begärande att godkänna sina egna ändringar så att en PR-skapare kan rösta om dess godkännande. Annars kan skaparen fortfarande rösta Godkänn på PR, men deras röst räknas inte mot det minsta antalet granskare.
Välj Förhindra att den senaste push-användaren godkänner sina egna ändringar för att framtvinga uppdelning av uppgifter. Som standard kan alla som har push-behörighet på källgrenen både lägga till incheckningar och rösta om PR-godkännande. Om du väljer det här alternativet räknas inte den senaste pusherns röst, även om de vanligtvis kan godkänna sina egna ändringar.
Välj Tillåt slutförande även om vissa granskare röstar för att vänta eller avvisa för att tillåta pr-slutförande även om vissa granskare röstar emot godkännande. Det minsta antalet granskare måste fortfarande godkänna.
Under När nya ändringar skickas:
Välj Kräv minst ett godkännande för den senaste iterationen för att kräva minst en godkännandeomröstning för den senaste ändringen av källgrenen.
Välj Återställ alla godkännanderöster (återställer inte röster för att avvisa eller vänta) för att ta bort alla godkännanderöster, men behåll röster för att avvisa eller vänta när källgrenen ändras.
Välj Återställ alla röster för kodgranskare för att ta bort alla granskarröster när källgrenen ändras, inklusive röster för att godkänna, avvisa eller vänta.
Under När nya ändringar skickas:
Välj Kräv minst ett godkännande för varje iteration för att kräva minst en godkännanderöst för den senaste ändringen av källgrenen. Användarens godkännande räknas inte mot tidigare icke godkända iteration som pushats av användaren. Därför måste en annan användare godkänna den senaste iterationen. Kräv minst ett godkännande för varje iteration som är tillgänglig i Azure DevOps Server 2022.1 och senare.
Välj Kräv minst ett godkännande för den senaste iterationen för att kräva minst en godkännandeomröstning för den senaste ändringen av källgrenen.
Välj Återställ alla godkännanderöster (återställer inte röster för att avvisa eller vänta) för att ta bort alla godkännanderöster, men behåll röster för att avvisa eller vänta när källgrenen ändras.
Välj Återställ alla röster för kodgranskare för att ta bort alla granskarröster när källgrenen ändras, inklusive röster för att godkänna, avvisa eller vänta.
Om Begärande kan godkänna sina egna ändringar inte har valts kan skaparen av pull-begäran fortfarande rösta Godkänn på sin pull-begäran, men deras röst räknas inte mot det minsta antalet granskare.
Om någon granskare avvisar ändringarna kan pull-begäran inte slutföras om du inte väljer Tillåt slutförande även om vissa granskare röstar för att vänta eller avvisa.
Du kan återställa röster för kodgranskare när nya ändringar skickas till källgrenen. Välj Återställ röster för kodgranskare när det finns nya ändringar.
Om alla andra principer godkänns kan skaparen slutföra pr när det begärda antalet granskare godkänner den.
Blockera om principen inte uppfylls. Godkända värden: false, true. Obligatoriska.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. Obligatoriska.
Minsta antal godkännare som krävs. Exempel: 2. Obligatoriska.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345Obligatoriska.
reset-on-source-push
Återställ röster när ändringar skickas till källan. Godkända värden: false, true. Obligatoriska.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Exempel
I följande exempel anges det minsta antalet nödvändiga godkännanden för 2 pull-begäranden i grenen main av Fabrikam-lagringsplatsen. Policyn tillåter nedröstning, vilket innebär att pull-begäranden kan slutföras även om vissa granskare röstar för att inte godkänna, så länge som det minsta antalet röster för att godkänna. Push-överföring till källgrenen återställer inte röster. Principen gör det också möjligt för pull-begärandeskapare att godkänna sina egna pull-begäranden.
I det här exemplet används standardkonfigurationen az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy approver-count create --allow-downvotes true --blocking true --branch main --creator-vote-counts true --enabled true --minimum-approver-count 2 --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --reset-on-source-push false --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
27 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Uppdatera principen för antal godkännare
Om du vill uppdatera en princip för antal godkännare använder du uppdateringen az repos policy approver-count.
Blockera om principen inte uppfylls. Godkända värden: false, true.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
reset-on-source-push
Återställ röster när ändringar skickas till källan. Godkända värden: false, true.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Sök efter länkade arbetsobjekt
För spårning av arbetsobjektshantering kan du kräva associationer mellan pr och arbetsobjekt. Länkning av arbetsobjekt ger mer kontext för ändringar och säkerställer att uppdateringarna går igenom spårningsprocessen för arbetsobjekt.
Om du vill ange principen under Avdelningsprinciper anger du Sök efter länkade arbetsobjekt till På. Den här inställningen kräver att arbetsobjekten är länkade till en PR för att pr ska slås samman. Gör inställningen Valfri för att varna när det inte finns några länkade arbetsobjekt, men tillåt slutförande av pull-begäran.
Du kan använda Azure CLI az repos policy work-item-linking för att skapa och uppdatera länkningsprinciper för arbetsobjekt för en gren eller lagringsplats.
Blockera om principen inte uppfylls. Godkända värden: false, true. Obligatoriska.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. Obligatoriska.
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Blockera om principen inte uppfylls. Godkända värden: false, true.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Exempel
I följande exempel uppdateras princip-ID:t 3 för grenen main av Fabrikam-lagringsplatsen så att den är aktiverad men valfri. I exemplet används standardkonfigurationen az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
>az repos policy work-item-linking update --id 3 --blocking false --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Sök efter kommentarsmatchning
Policyn Check for comment resolution kontrollerar om alla PR-kommentarer har lösts.
Konfigurera en policy för kommentarsmatchning för din gren genom att ange Sök efter kommentarsmatchning till På. Välj sedan om du vill göra principen Obligatorisk eller Valfri.
Mer information om hur du arbetar med pull-begärandekommentärer finns i Granska pull-begäranden.
Konfigurera en policy för kommentarsmatchning för din gren genom att välja Sök efter kommentarsmatchning.
Mer information om hur du arbetar med pull-begärandekommentärer finns i Granska pull-begäranden.
Blockera om principen inte uppfylls. Godkända värden: false, true. Obligatoriska.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. Obligatoriska.
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345Obligatoriska.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Uppdatera policy för kommentarsmatchning
Om du vill uppdatera en policy för kommentarsmatchning använder du uppdateringen az repos policy comment-required.
Blockera om principen inte uppfylls. Godkända värden: false, true.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Exempel
I följande exempel uppdateras policy-ID 6 för kommentarsmatchning i grenen main av Fabrikam-lagringsplatsen som ska blockeras. Kommentarer måste lösas innan pull-begäranden kan sammanfogas. I det här exemplet används standardkonfigurationen az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy comment-required update --id 6 --blocking true --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- -------------------- ------------- ------------ ------------------------------------ ---------------
6 Comment requirements True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Begränsa sammanslagningstyper
Azure Repos har flera sammanslagningsstrategier, och som standard tillåts alla. Du kan upprätthålla en konsekvent grenhistorik genom att framtvinga en sammanslagningsstrategi för slutförande av PR.
Ange Begränsa sammanslagningstyper till På för att begränsa vilka sammanslagningstyper som ska tillåtas på lagringsplatsen.
Grundläggande sammanslagning (ingen snabbsnabbning) skapar en sammanslagningsincheckning i målet vars överordnade objekt är mål- och källgrenarna.
Squashsammanslagning skapar en linjär historik med en enda incheckning i målgrenen med ändringarna från källgrenen. Läs mer om squashsammanslagningen och hur den påverkar grenhistoriken.
Ombasera och snabbspola framåt skapar en linjär historik genom att spela upp källincheckningar på målgrenen utan kopplingsincheckning.
Ombasera med sammanslagningsincheckning spelar upp källincheckningarna på målet och skapar även en sammanslagningsincheckning.
Kommentar
Den här funktionen är tillgänglig för Azure DevOps Server 2020 och senare versioner.
Du kan använda Azure DevOps CLI az repos policy merge-strategy för att ange och uppdatera policyn för sammanslagningsstrategi.
Blockera om principen inte uppfylls. Godkända värden: false, true. Obligatoriska.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. Obligatoriska.
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345Obligatoriska.
allow-no-fast-forward
Enkel sammanslagning utan snabbsnabb. Bevarar icke-linjär historik precis som under utvecklingen. Godkända värden: false, true.
allow-rebase
Ändra bas och snabbsnabbt framåt. Skapar en linjär historik genom att spela upp källgrenens incheckningar på målet utan en sammanslagning. Godkända värden: false, true.
allow-rebase-merge
Förbasera om med sammanslagningsincheckning. Skapar en halvradär historik genom att spela upp källgrenens incheckningar på målet och sedan skapa en sammanslagningsincheckning. Godkända värden: false, true.
allow-squash
Squash sammanslagning. Skapar en linjär historik genom att komprimera källgrenens incheckningar till en enda ny incheckning på målgrenen. Godkända värden: false, true.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
use-squash-merge
Alltid squash sammanslagning. Det här alternativet är inte tillgängligt för andra sammanslagningstyper. Godkända värden: false, true.
use-squash-merge Obs! är inaktuell och kommer att tas bort i en framtida version. Använd --allow-squash i stället.
Exempel
I följande exempel anges en obligatorisk sammanslagningsstrategi för pull-begäranden i grenen main av Fabrikam-lagringsplatsen för att tillåta squashsammanslagning. I det här exemplet används standardkonfigurationen az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy merge-strategy create --allow-squash true --blocking true --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------------ ------------- ------------ ------------------------------------ ---------------
29 Require a merge strategy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Enkel sammanslagning utan snabbsnabb. Bevarar icke-linjär historik precis som under utvecklingen. Godkända värden: false, true.
allow-rebase
Ändra bas och snabbsnabbt framåt. Skapar en linjär historik genom att spela upp källgrenens incheckningar på målet utan en sammanslagning. Godkända värden: false, true.
allow-rebase-merge
Förbasera om med sammanslagningsincheckning. Skapar en halvradär historik genom att spela upp källgrenens incheckningar på målet och sedan skapa en sammanslagningsincheckning. Godkända värden: false, true.
allow-squash
Squash sammanslagning. Skapar en linjär historik genom att komprimera källgrenens incheckningar till en enda ny incheckning på målgrenen. Godkända värden: false, true.
blocking
Blockera om principen inte uppfylls. Godkända värden: false, true.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
use-squash-merge
Om squash sammanslagning alltid. Det här alternativet fungerar inte för andra sammanslagningstyper. Godkända värden: false, true.
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Framtvinga en sammanslagningsstrategi
Upprätthålla en konsekvent grenhistorik genom att framtvinga en sammanslagningsstrategi när en pull-begäran slutförs.
Välj Framtvinga en sammanslagningsstrategi och välj ett alternativ för att kräva att pull-begäranden slås samman med den strategin.
Ingen snabbkoppling – Det här alternativet sammanfogar källgrenens incheckningshistorik när pull-begäran stängs och skapar en sammanslagningsbegäran i målgrenen.
Squashsammanslagning – Slutför alla pull-begäranden med en squashsammanslagning och skapa en enda incheckning i målgrenen med ändringarna från källgrenen. Läs mer om squashsammanslagningen och hur den påverkar din grenhistorik.
Byggverifiering
Du kan ange en princip som kräver att PR-ändringar skapas innan pr kan slutföras.
Skapa principer minskar pauser och håller testresultaten klara. Byggprinciper hjälper även om du använder kontinuerlig integrering (CI) på dina utvecklingsgrenar för att fånga upp problem tidigt.
En byggvalideringsprincip köar en ny version när en ny PR skapas eller ändringar skickas till en befintlig PR som riktar sig mot grenen. Byggprincipen utvärderar byggresultatet för att avgöra om pr kan slutföras.
Viktigt!
Innan du anger en byggverifieringsprincip måste du ha en bygg-pipeline. Om du inte har någon pipeline kan du läsa Skapa en byggpipeline. Välj vilken typ av bygge som matchar din projekttyp.
Under Utlösare väljer du Automatisk (när källgrenen uppdateras) eller Manuell.
Under Principkrav väljer du Obligatoriskt eller Valfritt. Om du väljer Obligatoriskt måste byggen slutföras för att slutföra PRs. Välj Valfritt om du vill ange ett meddelande om byggfelet men ändå tillåta att PR:er slutförs.
Ange ett byggdatum för att se till att uppdateringar av din skyddade gren inte bryter ändringar för öppna PR:er.
Omedelbart när <grennamnet> uppdateras: Det här alternativet anger status för PR-byggprincipen till misslyckad när grenen uppdateras och returnerar en version på nytt. Den här inställningen säkerställer att PR-ändringarna skapas även om den skyddade grenen ändras.
Det här alternativet passar bäst för team vars viktiga grenar har få ändringar. Team som arbetar i upptagna utvecklingsgrenar kan få det störande att vänta på ett bygge varje gång grenen uppdateras.
Efter <n> timmar om <grennamnet> har uppdaterats: Det här alternativet upphör att gälla den aktuella principstatusen när den skyddade grenen uppdateras om den övergående versionen är äldre än det tröskelvärde som du anger. Det här alternativet är en kompromiss mellan att alltid eller aldrig kräva en version när den skyddade grenen uppdateras. Det här valet minskar antalet versioner när den skyddade grenen har frekventa uppdateringar.
Aldrig: Uppdateringar av den skyddade grenen ändrar inte principstatusen. Det här värdet minskar antalet byggen, men kan orsaka problem när du slutför prs som inte har uppdaterats nyligen.
Ange ett valfritt visningsnamn för den här byggprincipen. Det här namnet identifierar principen på sidan Grenprinciper . Om du inte anger något visningsnamn använder principen namnet på bygg-pipelinen.
Välj Spara.
När PR-ägaren push-överför ändringar som har skapats uppdateras principstatusen.
Om du har ett Omedelbart när <grennamnet> uppdateras eller Efter <n> timmar om <grennamnet> har uppdaterats , uppdateras principstatusen när den skyddade grenen uppdateras, om den tidigare versionen inte längre är giltig.
Kommentar
Den här funktionen är tillgänglig för Azure DevOps Server 2020 och senare versioner.
Du kan använda Azure DevOps CLI az repos policy build för att ange och uppdatera build-valideringsprincipen.
Blockera om principen inte uppfylls. Godkända värden: false, true. Obligatoriska.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. Obligatoriska.
build-definition-id
Versionsdefinitions-ID:t. Obligatoriska.
display-name
Visningsnamn för den här byggprincipen för att identifiera principen. Exempel: Manual queue policy. Obligatoriska.
Om endast manuell kö med versioner ska tillåtas. Godkända värden: false, true. Obligatoriska.
queue-on-source-update-only
Om du bara ska köa byggen när källan uppdateras. Godkända värden: false, true. Obligatoriska.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345Obligatoriska.
valid-duration
Varaktighet för principens giltighet i minuter. valid-duration Obs! Måste vara mellan noll och ett år och måste vara noll när --queue-on-source-update-only är false. Obligatoriska.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
path-filter
Sökvägen som principen ska tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Exempel
I följande exempel anges en nödvändig byggprincip för pull-begäranden i grenen main av Fabrikam-lagringsplatsen. Principen kräver en lyckad version av versionsdefinitions-ID 1och tillåter endast manuell byggkö. I det här exemplet används standardkonfigurationen az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy build create --blocking true --branch main --build-definition-id 1 --display-name build-policy --enabled true --manual-queue-only true --queue-on-source-update-only false --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --valid-duration 0 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------ ------------- ------------ ------------------------------------ ---------------
31 build-policy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Blockera om principen inte uppfylls. Godkända värden: false, true.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Visningsnamn för den här byggprincipen för att identifiera principen. Exempel: Manual queue policy.
enabled
Aktivera principen. Godkända värden: false, true.
manual-queue-only
Om endast manuell kö med versioner ska tillåtas. Godkända värden: false, true.
org
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
path-filter
Sökvägar som principen ska tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
queue-on-source-update-only
Om du bara ska köa byggen när källan uppdateras. Godkända värden: false, true.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
valid-duration
Varaktighet för principens giltighet i minuter.
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Ange en princip som kräver ändringar i en pull-begäran för att skapa med den skyddade grenen innan pull-begäran kan slutföras.
Skapa principer minskar pauser och håller testresultaten klara. Byggprinciper hjälper även om du använder kontinuerlig integrering (CI) på dina utvecklingsgrenar för att fånga upp problem tidigt.
Om en byggverifieringsprincip är aktiverad placeras en ny version i kö när en ny pull-begäran skapas eller när ändringar skickas till en befintlig pull-begäran som riktar sig mot grenen. Byggprincipen utvärderar sedan resultatet av bygget för att avgöra om pull-begäran kan slutföras.
Viktigt!
Innan du anger en byggverifieringsprincip måste du ha en byggdefinition. Om du inte har någon läser du Skapa en byggdefinition och väljer den typ av bygge som matchar din projekttyp.
Välj Lägg till byggprincip och konfigurera dina alternativ i Lägg till byggprincip.
Välj build-definitionen.
Välj typ av utlösare. Välj Automatisk (när källgrenen uppdateras) eller Manuell.
Välj principkravet. Om du väljer Krävs måste byggen slutföras för att slutföra pull-begäranden. Välj Valfritt om du vill ange ett meddelande om byggfelet men ändå tillåta att pull-begäranden slutförs.
Ange ett versionsdatum för att se till att uppdateringar av din skyddade gren inte bryter ändringar för öppna pull-begäranden.
Omedelbart när branch name uppdateras: Det här alternativet anger statusen för byggprincipen i en pull-begäran till misslyckad när den skyddade grenen uppdateras. Skicka ett bygge på nytt för att uppdatera byggstatusen. Den här inställningen säkerställer att ändringarna i pull-begäranden skapas även när den skyddade grenen ändras. Det här alternativet passar bäst för team som har viktiga grenar med en lägre volym av ändringar. Team som arbetar i upptagna utvecklingsgrenar kan få det störande att vänta på att en version ska slutföras varje gång den skyddade grenen uppdateras.
Efter n timmar om branch name har uppdaterats: Det här alternativet upphör att gälla den aktuella principstatusen när den skyddade grenen uppdateras om den övergående versionen är äldre än det angivna tröskelvärdet. Det här alternativet är en kompromiss mellan att alltid kräva en version när den skyddade grenen uppdateras och aldrig kräver någon. Det här valet är utmärkt för att minska antalet versioner när din skyddade gren har frekventa uppdateringar.
Aldrig: Uppdateringar av den skyddade grenen ändrar inte principstatusen. Det här värdet minskar antalet versioner för din gren. Det kan orsaka problem när pull-begäranden som inte har uppdaterats nyligen stängs.
Ange ett valfritt visningsnamn för den här byggprincipen. Det här namnet identifierar principen på sidan Grenprinciper . Om du inte anger något visningsnamn använder principen versionsdefinitionsnamnet.
Välj Spara.
När ägaren push-överför ändringar som har skapats uppdateras principstatusen. Om du har en Omedelbart när branch name uppdateras eller Efter n timmar om branch name du har valt en uppdaterad byggprincip uppdateras principstatusen när den skyddade grenen uppdateras om den senaste versionen inte längre är giltig.
Statuskontroller
Externa tjänster kan använda PR-status-API:et för att publicera detaljerad status till dina pr-flöden. Med grenprincipen för ytterligare tjänster kan dessa externa tjänster delta i PR-arbetsflödet och upprätta principkrav.
Externa tjänster kan använda PR-status-API:et för att publicera detaljerad status till dina pr-flöden. Grenprincipen för ytterligare tjänster ger dessa externa tjänster möjlighet att delta i PR-arbetsflödet och upprätta principkrav.
Du kan automatiskt lägga till granskare till pull-begäranden som ändrar filer i specifika kataloger och filer, eller till alla pull-begäranden på en lagringsplats.
Välj Valfritt om du vill lägga till granskare automatiskt, men inte kräva deras godkännande för att slutföra pull-begäran.
Eller välj Obligatoriskt om pull-begäranden inte kan slutföras förrän:
Varje individ som läggs till som granskare godkänner ändringarna.
Minst en person i varje grupp som läggs till som granskare godkänner ändringarna.
Om endast en grupp krävs godkänner det minsta antalet medlemmar som du anger ändringarna.
Ange de filer och mappar som kräver automatiskt inkluderade granskare. Lämna fältet tomt för att kräva granskarna för alla pull-begäranden i grenen.
Välj Tillåt begärande att godkänna sina egna ändringar om pull-begärandeägare kan rösta för att godkänna sina egna pull-begäranden för att uppfylla den här principen.
Du kan ange ett aktivitetsflödesmeddelande som visas i pull-begäran.
Välj Spara.
Kommentar
Den här funktionen är tillgänglig för Azure DevOps Server 2020 och senare versioner.
Blockera om principen inte uppfylls. Godkända värden: false, true. Obligatoriska.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. Obligatoriska.
Meddelande om aktivitetsfeed som visas i pull-begäran. Obligatoriska.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345Obligatoriska.
required-reviewer-ids
Granskarens e-postadresser avgränsade med ;. Exempel: john@contoso.com;alice@contoso.com.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
path-filter
Sökvägar som principen ska tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Exempel
I följande exempel anges Jamal Hartnett som en nödvändig granskare för pull-begäranden i grenen main av Fabrikam-lagringsplatsen. I det här exemplet används standardkonfigurationen az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy required-reviewer create --blocking true --branch main --enabled true --message "Please review." --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --required-reviewer-ids fabrikamfiber4@hotmail.com --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------ ------------- ------------ ------------------------------------ ---------------
35 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Blockera om principen inte uppfylls. Godkända värden: false, true.
branch
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
branch-match-type
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact.
Meddelande om aktivitetsfeed som visas i pull-begäran.
org
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp az devops configure -d organization=<ORG_URL>av . Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/.
path-filter
Sökvägar som principen ska tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration.
repository-id
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
required-reviewer-ids
Granskarens e-postadresser avgränsade med ;. Exempel: john@contoso.com;alice@contoso.com.
subscription
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID>
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Välj granskare för specifika kataloger och filer på lagringsplatsen.
Dessa granskare läggs automatiskt till i pull-begäranden som ändrar filer längs dessa sökvägar. Du kan också ange ett meddelande om aktivitetsfeed.
Om du väljer Obligatorisk kan pull-begäran inte slutföras förrän:
Varje användare som läggs till som granskare för sökvägen godkänner ändringarna.
Minst en person i varje grupp som läggs till i sökvägen godkänner ändringarna.
Antalet granskare som har angetts för varje grupp som läggs till i sökvägen godkänner ändringarna.
Välj Valfritt om du vill lägga till granskare automatiskt, men inte kräva deras godkännande för att slutföra pull-begäran.
Du kan välja Begärare kan godkänna sina egna ändringar.
När alla nödvändiga granskare godkänner koden kan du slutföra pull-begäran.
Kringgå grenprinciper
I vissa fall kan du behöva kringgå principkraven. Med förbikopplingsbehörigheter kan du skicka ändringar till en gren direkt eller slutföra pull-begäranden som inte uppfyller grenprinciper. Du kan bevilja förbikopplingsbehörigheter till en användare eller grupp. Du kan kringgå behörigheter till ett helt projekt, en lagringsplats eller en enda gren.
Med två behörigheter kan användare kringgå grenprinciper på olika sätt:
Kringgå principer när du slutför pull-begäranden gäller endast för slutförande av pull-begäranden. Användare med den här behörigheten kan slutföra pull-begäranden även om pull-begäranden inte uppfyller principerna.
Kringgå principer vid push-överföring gäller push-överföring från lokala lagringsplatser och ändringar som görs på webben. Användare med den här behörigheten kan skicka ändringar direkt till skyddade grenar utan att uppfylla principkraven.
Mer information om hur du hanterar dessa behörigheter finns i Git-behörigheter.
I TFS 2015 till TFS 2018 Update 2 tillåter behörigheten Undanta från principtillämpning användare med den här behörigheten att utföra följande åtgärder:
Anmäl dig för att åsidosätta principer och slutföra en pull-begäran även om den aktuella uppsättningen förgreningsprinciper inte uppfylls.
Push-överför direkt till en gren även om grenen har angett grenprinciper. När en användare med den här behörigheten gör en push-överföring som skulle åsidosätta grenprincipen kringgår push-överföringen automatiskt grenprincipen utan steg eller varning.
Viktigt!
Var försiktig när du ger möjlighet att kringgå principer, särskilt på lagringsplats- och projektnivå. Principer är en hörnsten i säker och kompatibel källkodshantering.
Sökvägsfilter
Flera grenprinciper erbjuder sökvägsfilter. Om ett sökvägsfilter har angetts gäller principen endast för filer som matchar sökvägsfiltret. Om du lämnar det här fältet tomt innebär det att principen gäller för alla filer i grenen.
Du kan ange absoluta sökvägar (sökvägen måste starta antingen med / eller ett jokertecken) och jokertecken.
Exempel:
/WebApp/Models/Data.cs
/WebApp/*
*/Models/Data.cs
*.cs
Du kan ange flera sökvägar med som ; avgränsare.
Exempel:
/WebApp/Models/Data.cs;/ClientApp/Models/Data.cs
Sökvägar som föregås av ! utesluts om de annars skulle inkluderas.
Exempel:
/WebApp/*;!/WebApp/Tests/* innehåller alla filer utom /WebApp filer i /WebApp/Tests
!/WebApp/Tests/* anger inga filer, eftersom ingenting inkluderas först
Filterordningen är betydande. Filter tillämpas från vänster till höger.
Kan jag skicka ändringar direkt till grenar som har grenprinciper?
Du kan inte push-överföra ändringar direkt till grenar med nödvändiga grenprinciper om du inte har behörighet att kringgå grenprinciper. Ändringar i dessa grenar kan endast göras via pull-begäranden. Du kan skicka ändringar direkt till grenar som har valfria grenprinciper, om de inte har några nödvändiga grenprinciper.
Vad är automatisk komplettering?
Hämta begäranden till grenar med konfigurerade grenprinciper har knappen Ange automatisk komplettering . Välj det här alternativet om du vill slutföra pull-begäran automatiskt när den uppfyller alla principer. Automatisk komplettering är användbart när du inte förväntar dig några problem med dina ändringar.
När kontrolleras villkor för grenprinciper?
Grenprinciper omvärderas på servern när pull-begärandeägare push-överför ändringar och när granskare röstar. Om en princip utlöser en version ställs byggstatusen in på att vänta tills bygget har slutförts.
Kan jag använda XAML-versionsdefinitioner i grenprinciper?
Nej, du kan inte använda XAML-byggdefinitioner i grenprinciper.
Vilka jokertecken kan jag använda för kodgranskare som krävs?
Enstaka asterisker * matchar valfritt antal tecken, inklusive både snedstreck / och snedstreck \. Frågetecken ? matchar ett enskilt tecken.
Exempel:
*.sql matchar alla filer med tillägget .sql .
/ConsoleApplication/* matchar alla filer under mappen ConsoleApplication.
/.gitattributes matchar filen.gitattributes* i roten på lagringsplatsen.
*/.gitignore matchar alla .gitignore-filer på lagringsplatsen.
Är de nödvändiga sökvägarna för kodgranskare skiftlägeskänsliga?
Nej, grenprinciper är inte skiftlägeskänsliga.
Hur konfigurerar jag flera användare som nödvändiga granskare, men behöver bara en av dem för att godkänna?
Du kan lägga till användarna i en grupp och sedan lägga till gruppen som granskare. Alla medlemmar i gruppen kan sedan godkänna för att uppfylla principkravet.
Jag har behörighet att kringgå principer. Varför ser jag fortfarande principfel i statusen för pull-begäran?
Konfigurerade principer utvärderas alltid för pull-begärandeändringar. För användare som har behörighet att kringgå principer är den rapporterade principstatusen endast rådgivande. Om användaren med förbikopplingsbehörigheter godkänner blockeras inte slutförande av pull-begäran.
Varför kan jag inte slutföra mina egna pull-begäranden när "Tillåt begäranden att godkänna sina egna ändringar har angetts"?
Både principen Kräv ett minsta antal granskare och principen Automatiskt inkluderade granskare har alternativ för att tillåta begärande att godkänna sina egna ändringar. I varje princip gäller inställningen endast för den principen. Inställningen påverkar inte den andra principen.
Din pull-begäran har till exempel följande principer inställda:
Kräv minst ett antal granskare kräver minst en granskare.
Automatiskt inkluderade granskare kräver att du eller ett team du är i som granskare.
Automatiskt inkluderade granskare har Tillåt begäranden att godkänna sina egna ändringar aktiverade.
Kräv att ett minsta antal granskare inte har Tillåt begärande att godkänna sina egna ändringar aktiverade.
I det här fallet uppfyller ditt godkännande automatiskt inkluderade granskare, men inte Kräv ett minsta antal granskare, så du kan inte slutföra pull-begäran.
Det kan också finnas andra principer, till exempel Förhindra att den senaste push-användaren godkänner sina egna ändringar, som hindrar dig från att godkänna dina egna ändringar även om Tillåt begäranden att godkänna sina egna ändringar har angetts.
Vad händer när sökvägen i sökvägsfilter inte börjar med / eller med ett jokertecken?
Sökvägen i sökvägsfilter som inte börjar med / eller med ett jokertecken har ingen effekt, och sökvägsfiltret utvärderas som om sökvägen inte angavs. En sådan sökväg kan inte matcha den / absoluta filsökvägen som börjar med.