Konfigurera inställningar och principer för en Git-lagringsplats
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Det finns flera sätt att anpassa dina Azure Repos Git-lagringsplatser med hjälp av inställningar och principer för förgrening och lagringsplats. I den här artikeln beskrivs inställningar och principer på lagringsplatsnivå.
Inställningar och principer för lagringsplatser konfigurerar globala alternativ för alla Git-lagringsplatser för ett projekt eller en organisation, eller för enskilda lagringsplatser.
I den här artikeln beskrivs inställningar och principer för lagringsplatsen på serversidan. Mer information om Git-inställningar på klientsidan finns i Git-inställningar och -inställningar i Visual Studio.
Grenprinciper omfattar grenspecifika kontroller.
Grenprinciper inkluderar alternativ som att kräva en pull-begäran, en lyckad version eller en kodgranskning innan ändringarna kan sammanfogas till en gren. Mer information finns i Grenprinciper och inställningar.
Lagringsplats- och grensäkerhetsbehörigheter styr användartilldelningar.
Dessa behörigheter styr vem som kan läsa, skriva, bidra till pull-begäranden och vidta andra specifika åtgärder. Mer information finns i Ange behörigheter för en lagringsplats.
Sammanfattning av alla inställningar och principer för lagringsplatser och förgreningar
Du kan konfigurera inställningar och principer för alla lagringsplatser i ett projekt, för enskilda lagringsplatser och för grenar av lagringsplatser. I webbläsaren konfigurerar du alla dessa inställningar och principer via Projektinställningar>Lagringsplatser.
Kommentar
Du kan ange flera greninställningar och principer med Azure CLI med hjälp av az repos policy.
I följande tabeller sammanfattas de inställningar och principer som du kan aktivera och konfigurera för Git-lagringsplatser och -grenar.
Inställningar för alla lagringsplatser
I följande tabell sammanfattas de inställningar som du kan aktivera och konfigurera för alla nya Git-lagringsplatser i ett projekt eller i en organisation.
Inställning
Standardvärde
Beskrivning
Av
Initiera nya lagringsplatser med det standardgrennamn som du anger. Du kan ändra standardgrenen för en viss lagringsplats när som helst. Om du inte aktiverar den här funktionen initieras lagringsplatser med en standardgren med namnet main
.
På
Låt användarna hantera behörigheter för sina skapade grenar i alla nya lagringsplatser.
Inställningar för lagringsplats
I följande tabell sammanfattas de inställningar som du kan aktivera eller konfigurera för varje enskild Git-lagringsplats.
Inställning
Standardvärde
Beskrivning
På
Tillåt användare att skapa förgreningar från lagringsplatsen.
På
Skapa automatiskt länkar för arbetsobjekt som nämns i en incheckningskommentare.
På
Tillåt omnämnanden i incheckningskommentorer för att stänga arbetsobjekt. Kräver Azure DevOps Server 2020.1-uppdatering eller senare version.
På
Kom ihåg användarinställningar för att slutföra arbetsobjekt med pull-begäranden.
På
Tillåt användare att hantera behörigheter för de grenar som de har skapat
På
Aktivera strikt röstläge för lagringsplatsen, vilket kräver contribute-behörighet för att rösta på pull-begäranden.
På
Inaktivera åtkomst till lagringsplatsen, inklusive byggen och pull-begäranden, men se till att lagringsplatsen kan identifieras med en varning.
På
Principer eller alternativ för lagringsplats
I följande tabell sammanfattas de principer eller alternativ som du kan ange för alla eller enskilda lagringsplatser. Principer som angetts för Alla lagringsplatser anger standardvärdet för enskilda lagringsplatser som läggs till vid ett senare tillfälle.
Princip eller alternativ
Standardvärde
Beskrivning
Av
Blockera push-meddelanden med ett e-postmeddelande för incheckningsförfattare som inte matchar de angivna mönstren. Den här inställningen kräver Azure DevOps Server 2020.1 eller senare version.
Av
Blockera push-överföring från att introducera filsökvägar som matchar de angivna mönstren. Den här inställningen kräver Azure DevOps Server 2020.1 eller senare version.
Av
Undvik skiftlägeskänslighetskonflikter genom att blockera push-meddelanden som ändrar namn på filer, mappar, grenar och taggar.
Av
Blockera push-meddelanden som introducerar filer, mappar eller grennamn som innehåller plattformsreserverade namn eller inkompatibla tecken.
Av
Blockera push-överföring som introducerar sökvägar som överskrider den angivna längden.
Av
Blockera push-meddelanden som innehåller nya eller uppdaterade filer som är större än den valda gränsen.
Grenprinciper
I följande tabell sammanfattas de principer som du kan definiera för att anpassa en gren. Mer information om hur du konfigurerar de här inställningarna finns i Förbättra kodkvaliteten med grenprinciper. När du anger en princip för en gren tillämpas följande principer automatiskt:
- Pull-begäranden krävs för att uppdatera grenen.
- Det går inte att ta bort grenen.
Kommentar
Grenprinciper tillämpas på pull-begäranden baserat på målgrenen för pull-begäran. Förgreningsprinciper bör inte anges för tillfälliga grenar som tas bort efter en pull-begäran. Om du lägger till grenprinciper i tillfälliga grenar misslyckas automatisk borttagning av grenen.
Princip
Standardvärde
Beskrivning
Av
Kräv godkännande från ett angivet antal granskare för pull-begäranden.
Av
Uppmuntra spårning genom att söka efter länkade arbetsobjekt på pull-begäranden.
Av
Kontrollera att alla kommentarer har lösts vid pull-begäranden.
Av
Kontrollera grenhistoriken genom att begränsa de tillgängliga typerna av sammanslagning när pull-begäranden har slutförts.
Av
Lägg till, aktivera eller inaktivera en eller flera principer för att verifiera kod genom att före sammanslagning och skapa pull-begärandeändringar.
Av
Lägg till, aktivera eller inaktivera en eller flera principer för att kräva att andra tjänster publicerar lyckad status för att slutföra pull-begäranden.
Av
Lägg till, aktivera eller inaktivera en eller flera principer för att utse kodgranskare som automatiskt ska inkluderas när pull-begäranden ändrar vissa kodområden.
Förutsättningar
- Om du vill konfigurera principer 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 använda az repos-kommandon ska du följa stegen i Kom igång med Azure DevOps CLI.
- Om du vill konfigurera principer 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.
Visa och redigera inställningar och principer
Du kan konfigurera inställningar för alla lagringsplatser i en organisation eller ett projekt eller för enskilda lagringsplatser. Du kan konfigurera principer för alla lagringsplatser, för enskilda lagringsplatser eller för angivna grenar mellan lagringsplatser. Information om hur du anger förgreningsprinciper finns i Grenprinciper.
Kommentar
Det är bäst att konfigurera lagringsplatsens inställningar antingen på projektnivå eller för enskilda lagringsplatser, men inte båda. Om du konfigurerar inställningar på mer än en nivå respekterar systemet den mest restriktiva inställningen. Att konfigurera inställningar på bara en nivå minskar förvirringen och Git-prestandaproblemen.
Om du vill konfigurera lagringsplatsinställningar och principer via webbportalen öppnar du Projektinställningar>Lagringsplatser från webbläsaren.
Om du vill visa eller ändra inställningar eller principer för alla Git-lagringsplatser öppnar du sidan Alla lagringsplatser och väljer Inställningar eller principer.
Om du vill konfigurera inställningar och principer för en specifik lagringsplats väljer du fliken Lagringsplatser , väljer lagringsplatsen och väljer sedan fliken Inställningar eller Principer .
Följande skärmbild visar fliken Inställningar markerad. Du kan definiera de här inställningarna för alla Git-lagringsplatser eller för en enskild lagringsplats.
Följande skärmbild visar fliken Principer markerad. Du kan definiera dessa principer för alla Git-lagringsplatser eller för en enskild lagringsplats.
Öppna projektet i webbläsaren och välj Projektinställningar, Lagringsplatser och välj din lagringsplats.
Om du vill visa och konfigurera lagringsplatsens inställningar väljer du Alternativ eller Principer.
Följande skärmbild visar Alternativ för alla lagringsplatser:
Följande skärmbild visar Alternativ för Fabrikam-lagringsplatserna:
Standardgrennamn
Du kan ange ett standardnamn för lagringsplatsens gren på organisations- eller projektnivå. Inställningen på organisationsnivå börjar gälla för alla nya lagringsplatser i alla projekt i organisationen. Inställningen på projektnivå påverkar alla nya lagringsplatser i ett projekt och ersätter alla namn som angetts på organisationsnivå.
Du kan:
- Välj vilket namn på juridisk gren som ska användas när en lagringsplats initieras.
- Ändra standardnamnet när som helst för att påverka alla framtida lagringsplatser.
- Ändra standardgrennamnet för en viss lagringsplats när som helst.
Om du inte aktiverar standardfunktionen för grennamn initieras lagringsplatserna med standardgrennamnet main
för Azure Repos .
Så här anger du ett standardgrennamn på organisationsnivå:
- På sidan Azure DevOps-organisation väljer du Organisationsinställningar längst ned till vänster och väljer sedan Lagringsplatser i det vänstra navigeringsfältet.
- På sidan Alla lagringsplatser anger du Standardgrennamn för nya lagringsplatser till På och anger sedan ett standardgrennamn.
Så här anger du ett standardgrennamn på projektnivå:
- På sidan Azure DevOps-projekt väljer du Projektinställningar längst ned till vänster och väljer sedan Lagringsplatser i det vänstra navigeringsfältet.
- På fliken Inställningar på sidan Alla lagringsplatser anger du Standardgrennamn för nya lagringsplatser till På och anger sedan ett standardgrennamn.
Kommentar
Standardgrennamnet för nya lagringsplatser kräver Azure DevOps Server 2020.1 eller senare version.
Behörighetshantering för gren
Du kan styra vem som kan hantera behörigheter för lagringsplatsgrenar genom att ange en inställning för behörighetshantering för alla Git-lagringsplatser eller för enskilda lagringsplatser. Om du aktiverar inställningen Tillåt användare att hantera behörigheter för sina skapade grenar på nivån Alla lagringsplatser konfigureras alla nya projektlagringsplatser så att användarna kan hantera behörigheter för sina skapade grenar.
Så här hanterar du den här inställningen:
- På sidan Azure DevOps-projekt väljer du Projektinställningar längst ned till vänster och väljer sedan Lagringsplatser i det vänstra navigeringsfältet.
- På fliken Inställningar på sidan Alla lagringsplatser anger du Tillåt användare att hantera behörigheter för sina skapade grenar till På eller Av.
Så här aktiverar eller inaktiverar du den här inställningen för enskilda lagringsplatser:
- Välj Projektinställningar>Lagringsplatser och välj sedan en lagringsplats.
- På fliken Inställningar på< sidan Lagringsplatsnamn> anger du Behörighetshantering till På eller Av.
Gravatar-bilder
Den här inställningen aktiverar eller inaktiverar användningen av Gravatar-avbildningar för användare utanför företaget.
Gravatar-avbildningar är en inställning på organisationsnivå.
- På sidan Azure DevOps-organisation väljer du Organisationsinställningar längst ned till vänster och väljer sedan Lagringsplatser i det vänstra navigeringsfältet.
- På sidan Alla lagringsplatser anger du Gravatar-bilder till På eller Av.
Gravatar-avbildningar är en inställning på projektnivå för Alla lagringsplatser.
- På sidan Azure DevOps-projekt väljer du Projektinställningar längst ned till vänster och väljer sedan Lagringsplatser i det vänstra navigeringsfältet.
- På fliken Inställningar på sidan Alla lagringsplatser anger du Gravatar-bilder till På eller Av.
Gravatar-avbildningar är en inställning på projektnivå för Alla lagringsplatser.
- På sidan Azure DevOps-projekt väljer du Projektinställningar längst ned till vänster och väljer sedan Lagringsplatser i det vänstra navigeringsfältet.
- På fliken Inställningar på sidan Alla lagringsplatser anger du Gravatar-bilder till På eller Av.
Aktivera förgrening
Den här lagringsplatsen styr om användare kan skapa nya förgreningar på serversidan. Om du inaktiverar den här inställningen tar du inte bort befintliga förgreningar.
- I Projektinställningar väljer du Lagringsplatser i det vänstra navigeringsfältet.
- På fliken Lagringsplatser på sidan Alla lagringsplatser väljer du en lagringsplats.
- På fliken Inställningar på <sidan Lagringsplatsnamn> anger du Forks till På eller Av.
Länkningsinställningar för arbetsobjekt
De här lagringsplatsens inställningar hanterar länkning av arbetsobjekt.
- Välj Projektinställningar>Lagringsplatser och välj sedan en lagringsplats.
- På fliken Inställningar på <sidan Lagringsplatsnamn> aktiverar eller inaktiverar du inställningarna.
Checka in omnämnandelänk
När det är aktiverat länkar incheckningsmeddelanden som innehåller #
följt av ett giltigt arbetsobjekts-ID automatiskt incheckningen till arbetsobjektet. Inaktivera den här inställningen om lagringsplatsen tidigare använde ett annat konto eller en annan tjänst. Dessa lagringsplatser kan ha incheckningsmeddelanden med #
omnämnanden som inte matchar arbetsobjektets ID i det aktuella kontot.
Checka in omnämnande av arbetsobjektmatchning
Aktivera den här inställningen för att automatiskt slutföra arbetsobjekt när länkade pull-begäranden slutförs. Med den här inställningen kan du också ange andra övergångstillstånd för arbetsobjekt i incheckningsmeddelanden för pull-begäranden. Mer information finns i Komplettera automatiskt arbetsobjekt med pull-begäranden.
Checka in omnämnande av arbetsobjektmatchning
Aktivera den här inställningen för att automatiskt slutföra dessa arbetsobjekt när du har slutfört pr.en. Mer information finns i Komplettera automatiskt arbetsobjekt med pull-begäranden.
Inställningar för arbetsobjektövergång
Som standard kommer alternativet att slutföra länkade arbetsobjekt under slutförandet av pull-begäran att komma ihåg varje användares senaste val. Team som vill avråda användare från att slutföra arbetsobjekt med sina pull-begäranden kan inaktivera den här inställningen. Användarna måste sedan välja att slutföra arbetsobjekt varje gång de slutför en pull-begäran.
Inställning för strikt röstläge
I vissa situationer kan användare som inte är deltagare i en lagringsplats skicka en pull-begäran och göra så att den sammanfogas, beroende på principer. För att förhindra den här möjligheten aktiverar du strikt röstläge för att ändra den behörighet som krävs för att rösta på begäranden om lagringsplatshämtning till Contribute. Aktivera den här inställningen rekommenderas om du förlitar dig på användarförgreningar i Azure Repos.
- Välj Projektinställningar>Lagringsplatser och välj sedan en lagringsplats.
- På fliken Inställningar på< sidan Lagringsplatsnamn> anger du Strikt röstläge till På eller Av.
Inaktivera lagringsplatsinställning
Om du aktiverar den här inställningen inaktiveras åtkomsten till lagringsplatsen, inklusive byggen och pull-begäranden, men lagringsplatsen kan identifieras med en varning.
- Välj Projektinställningar>Lagringsplatser och välj sedan en lagringsplats.
- På fliken Inställningar på< sidan Lagringsplatsnamn>, under Inaktivera lagringsplats, anger du Inaktivera lagringsplats till På eller Av.
Inställning för sökbara grenar
Som standard gäller kodsökning i filer endast för standardgrenen. Du kan lägga till upp till fem grenar till för sökning.
Viktigt!
Om du vill söka efter kod i lagringsplatser måste du installera tillägget För kodsökning på Marketplace. Om du inte ser sökbara grenar på fliken Inställningar för lagringsplats kontrollerar du att tillägget är installerat.
Så här lägger du till grenar för kodsökning:
- Välj Projektinställningar>Lagringsplatser och välj sedan en lagringsplats.
- På fliken Inställningar på< sidan Lagringsplatsnamn> väljer du + i Sökbara grenar.
- Välj en gren som ska inkluderas i sökningen och välj sedan Lägg till gren.
Avdelningsprinciper för flera lagringsplatser
Du kan ange principer för ett specifikt grennamn, eller på standardgrenen, över alla lagringsplatser i ett projekt. Du kan till exempel kräva två minsta granskare för alla pull-begäranden i varje main
gren för alla projektlagringsplatser.
Så här anger du principer för att skydda specifika eller standardgrennamn i ett projekt:
I Projektinställningar väljer du Lagringsplatser i det vänstra navigeringsfältet.
På sidan Alla lagringsplatser väljer du fliken Principer .
Välj plustecknet + för grenprinciper längst ned på sidan.
På skärmen Lägg till grenskydd väljer du Skydda standardgrenen för varje lagringsplats eller Skydda aktuella och framtida grenar som matchar ett angivet mönster.
Om du väljer det andra alternativet anger du det grennamn som ska skyddas. Med ett informationsmeddelande får du veta hur många aktuella grenar som påverkas. Grenen behöver inte finnas ännu för att skydda grennamnet.
Välj Skapa.
På sidan Principer för flera lagringsplatser för <grennamn> anger du de principer som du vill använda för de skyddade grenarna. Mer information om grenprinciper finns i Grenprinciper.
Checka in e-postverifieringsprincip för författare
Den här principen blockerar incheckningar till en lagringsplats av incheckningsförfattare vars e-postadresser inte matchar ett mönster.
Välj Projektinställningar>Lagringsplatser och välj en lagringsplats om du bara vill konfigurera lagringsplatsen.
På fliken Principer på sidan Alla lagringsplatser eller <Lagringsplatsnamn>, under Lagringsprinciper, anger du Bekräfta e-postvalidering för författare till På eller Av.
Om du aktiverar principen anger du den e-postadress eller de adresser som ska matchas.
Du kan ange exakta e-postadresser eller använda jokertecken. Använd
;
som avgränsare för flera e-postmönster. E-postmönster som föregås av!
utesluts. Ordning är viktigt.
Valideringsprincip för filsökväg
Du kan ange en princip som förhindrar incheckningar till en lagringsplats från filsökvägar som matchar ett mönster.
Välj Projektinställningar>Lagringsplatser och välj en lagringsplats om du bara vill konfigurera lagringsplatsen.
På fliken Principer på sidan Alla lagringsplatser eller <Lagringsplatsnamn>, under Lagringsprinciper, anger du Filsökvägsverifiering till På eller Av.
Om du aktiverar principen anger du sökvägen eller sökvägarna som ska blockeras.
Du kan ange exakta sökvägar och jokertecken. Exakta sökvägar börjar med
/
. Du kan också ange flera sökvägar med hjälp;
av som avgränsare. Sökvägar som prefixet med!
är exkluderade. Ordning är viktigt.
Princip för ärendetillämpning
Git är skiftlägeskänsligt, vilket innebär att en fil med namnet Foo.txt skiljer sig från en fil som heter foo.txt. Windows och macOS är dock standard för skiftlägesokänsliga filsystem, vilket innebär att Foo.txt och foo.txt är samma namn. Den här avvikelsen kan orsaka problem om någon i ett skiftlägesokänsligt system skickar filer, mappar, grenar eller taggar som endast skiljer sig åt efter bokstavsfall. Mer information finns i Git-plattformsoberoende kompatibilitet.
Om de flesta av dina deltagare finns i Windows eller macOS är det bäst att aktivera principen för ärendeframtvingande . Ärendetillämpning växlar servern från standardläget för skiftläge, där File.txt och file.txt är distinkta, till ett Windows- och macOS-vänligt läge där File.txt och file.txt anses vara samma fil. Den här inställningen påverkar filer, mappar, grenar och taggar.
Den här inställningen hindrar deltagare från att införa skiftlägesskillnader. Inställningen undviker skiftlägeskänslighetskonflikter genom att blockera push-meddelanden som ändrar namn på filer, mappar, grenar och taggar. Användaren måste skriva om sin oöppnade historik för att åtgärda problemet och sedan försöka skicka igen.
Den här inställningen åtgärdar inte en lagringsplats som redan innehåller objekt som endast skiljer sig åt från fall till fall. Det är bäst att åtgärda sådana problem innan du aktiverar principen. Byt namn på filer och mappar eller återskapa grenar och taggar för att använda namn som inte är i konflikt.
Så här anger du princip för tvingande av ärenden:
- Välj Projektinställningar>Lagringsplatser och välj en lagringsplats om du bara vill konfigurera lagringsplatsen.
- På fliken Principer på sidan Alla lagringsplatser eller< Lagringsplatsnamn>, under Lagringsprinciper, anger du Skiftlägesframtvingande till På eller Av.
Princip för reserverade namn
Alla filnamn är inte tillåtna i de tre större operativsystemfilsystemen: Windows, macOS och Linux. Incheckningar till en delad lagringsplats kan innehålla fil- eller mappnamn som är ogiltiga på en eller flera plattformar. Om ogiltiga filer eller mappar hämtas och checkas ut på dessa plattformar kan arbetskataloger skadas. Mer information finns i Git-plattformsoberoende kompatibilitet.
Du kan aktivera eller inaktivera principer för att begränsa fil- och mappnamn. Inställningen Reserverade namn blockerar push-meddelanden till en lagringsplats som innehåller fil- eller mappnamn som är ogiltiga på alla plattformar. Information om vilka namn som är ogiltiga finns i Kompatibilitet mellan olika plattformar i Git.
Så här anger du principen för reserverade namn:
- Välj Projektinställningar>Lagringsplatser och välj en lagringsplats om du bara vill konfigurera lagringsplatsen.
- På fliken Principer på sidan Alla lagringsplatser eller <Lagringsplatsnamn>, under Lagringsprinciper, anger du Reserverade namn till På eller Av.
Princip för maximal sökvägslängd
Alla sökvägslängder tillåts inte i de tre större operativsystemfilsystemen: Windows, macOS och Linux. Incheckningar till en delad lagringsplats kan innehålla filer eller kataloger med sökvägslängder som är ogiltiga på en eller flera plattformar. Om dessa filer eller kataloger hämtas och checkas ut på en plattform där de är ogiltiga kan arbetskataloger skadas. Mer information finns i Git-plattformsoberoende kompatibilitet.
Inställningen Maximal sökvägslängd blockerar push-meddelanden som innehåller filer eller kataloger med sökvägslängder som är ogiltiga på alla plattformar. Information om vilka sökvägslängder som är ogiltiga finns i Kompatibilitet mellan plattformar i Git. När du aktiverar den här inställningen är 248
det högsta standardvärdet , eftersom den maximala längden är 100 % som stöds på alla tre huvudplattformarna.
Du kan ändra det maximala sökvägsvärdet. Om du till exempel bara har macOS- eller Linux-utvecklare i din organisation kan du välja att ange maximal längd till det värde som stöds på båda plattformarna, 1016
. Du kan också välja att ange ett lägre högsta sökvägsvärde för att framtvinga organisationens katalognamngivningskonventioner.
Så här anger du principen för maximal sökvägslängd:
- Välj Projektinställningar>Lagringsplatser och välj en lagringsplats om du bara vill konfigurera lagringsplatsen.
- På fliken Principer på sidan Alla lagringsplatser eller <Lagringsplatsnamn>, under Lagringsprinciper, anger du Maximal sökvägslängd till På eller Av.
- Om du har aktiverat inställningen anger du en maximal sökvägslängd.
Maximal filstorleksprincip
Stora filer som checkas in i Git finns kvar på lagringsplatsen på obestämd tid, vilket ökar kloningstiderna och diskanvändningen. Information om hur du hanterar stora filer finns i Hantera och lagra stora filer i Git.
Principinställningen Maximal filstorlek blockerar filer över en viss storlek från att komma in på lagringsplatsen. Om en push-överföring innehåller en ny eller uppdaterad fil som är större än den gräns som konfigurerats i den här inställningen blockeras push-överföringen. Användaren måste skriva om sin historik för att ta bort den stora filen och försöka skicka igen.
Så här konfigurerar du principen Maximal filstorlek :
- Välj Projektinställningar>Lagringsplatser och välj en lagringsplats om du bara vill konfigurera lagringsplatsen.
- På fliken Principer på sidan Alla lagringsplatser eller <Lagringsplatsnamn>, under Lagringsprinciper, anger du Maximal filstorlek till På eller Av.
- Om du har aktiverat inställningen väljer du en maximal filstorlek.