Dela via


Gafflar

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Git-lagringsplatsens förgreningar är användbara när personer vill göra experimentella, riskfyllda eller dolda ändringar i en kodbas, men dessa ändringar måste isoleras från kodbasen på den ursprungliga lagringsplatsen. En ny förgrening är i princip en ny fjärrlagringsplats som delar källkoden för den ursprungliga lagringsplatsen.

Som en oberoende version döljs ändringar som du gör i din förgrening, till exempel att lägga till incheckningar eller grenar, från den ursprungliga lagringsplatsen. Om du vill sammanfoga dina codebase-ändringar till den ursprungliga lagringsplatsen måste du skapa en pull-begäran (PR) för att begära granskning och godkännande av dessa ändringar.

Förgreningsprocessen överför inte några behörigheter, policyer eller bygg-pipelines från den ursprungliga lagringsplatsen till din förgrening.

Den här artikeln beskriver hur du arbetar med förgreningar i Git-lagringsplatser för Azure Repos och innehåller länkar till GitHub-innehåll som beskriver hur du hanterar förgreningar i GitHub-lagringsplatser.

I den här artikeln lär du dig hur du:

  • Dela kod mellan förgreningar
  • Välj mellan grenar och gaflar
  • Aktivera lagringsplatsens förgrening
  • Skapa en förgrening
  • Klona din fork lokalt
  • Skicka lokala ändringar till din gaffel
  • Skapa och slutföra en PR
  • Synkronisera din förgrening

Förutsättningar

Kategori Krav
Åtkomst till projekt Medlem av ett -projekt.
behörigheter Visa kod i privata projekt: Minst grundläggande åtkomst .
– Klona eller bidra till kod i privata projekt: Medlem i Bidragsgivare säkerhetsgrupp eller projektets motsvarande behörigheter.
– Ange behörigheter för gren eller lagringsplats: Hantera behörigheter behörigheter för grenen eller lagringsplatsen.
– Ändra standardgren: Redigera principer behörigheter för lagringsplatsen.
– Importera en lagringsplats: Medlem i Projektadministratörer säkerhetsgrupp eller Git-projektnivå Skapa lagringsplats behörighet inställd på Tillåt. Mer information finns i Ange Behörigheter för Git-lagringsplats.
Tjänster Repos aktiverat.
Verktyg Valfritt. Använd kommandona az repos: Azure DevOps CLI.

Kommentar

I offentliga projekt har användare med åtkomst på intressentnivå fullständig åtkomst till Azure Repos, inklusive att se, klona och bidra till kod.

Kategori Krav
Åtkomst till projekt Medlem av ett -projekt.
behörigheter – Visa kod: Minst Grundläggande åtkomst.
– Klona eller bidra till kod: Medlem i Contributors säkerhetsgrupp eller motsvarande behörigheter i projektet.
Tjänster Repos aktiverat.

Dela kod mellan förgreningar

Den ursprungliga lagringsplatsen kallas ofta för den överordnade lagringsplatsen. Du kan skapa PR:er för att sammanfoga ändringar i endera riktningen: från förgrening till uppströms eller uppströms till förgrening. Den vanligaste riktningen är från förgrening till uppströms. Målrepoets behörigheter, principer, byggen och arbetsuppgifter gäller för PR.

Välj mellan grenar och förgreningar

För ett litet team med 2–5 utvecklare kanske ett förgreningsarbetsflöde inte är nödvändigt eftersom alla kan arbeta i funktionsgrenar och grenprinciper kan skydda standardgrenen. Men om ditt team expanderar och växer ut det här arrangemanget kan de växla till ett förgreningsarbetsflöde.

Om ditt repo har ett stort antal tillfälliga eller sällsynta medarbetare, som ett öppen källkodsprojekt kan ha, rekommenderar vi arbetsflödet med förgreningar. Vanligtvis bör endast kärndeltagare i ditt projekt ha direkt rättigheter att göra commits till ditt ursprungliga repository. Andra medarbetare bör använda ett förgreningsarbetsflöde för att isolera sina föreslagna ändringar tills huvudbidragsgivarna har fått tillfälle att granska deras arbete.

Aktivera lagringsplatsens förgrening

Information om hur du aktiverar förgreningar för en Git-lagringsplats för Azure Repos finns i aktivera förgreningar.

Information om hur du aktiverar förgreningar för en GitHub-lagringsplats finns i Hantera förgreningsprincipen för din organisation.

Arbetsflödet för förgrening

Förgreningsarbetsflödet består av fem steg som beskrivs i följande avsnitt.

  1. Skapa en förgrening
  2. Klona din förgrening lokalt
  3. Skicka lokala ändringar till din fork
  4. Skapa och slutföra en PR
  5. Synkronisera din förgrening

Skapa en förgrening

Följande steg beskriver hur du förgrenar en Azure Repos Git-lagringsplats.

Kommentar

Om du vill förgrena en lagringsplats i ett Azure DevOps-projekt har du behörigheten Skapa lagringsplats för projektet. Ägare av repos bör överväga att skapa ett särskilt projekt för forkar och tilldela behörigheten att skapa repos till alla deltagare. Mer information om hur du anger behörigheter finns i Ange Behörigheter för Git-lagringsplats.

  1. Från webbläsaren går du till git-lagringsplatsen för Azure Repos som du vill förgrena. Välj Repo-filer och välj Förgrening på ellipsmenyn för att öppna dialogrutan Förgrening.

    Skärmbild av menyalternativet Förgrening i menyn Fler åtgärder på sidan Lagringsplatsfiler i Azure Repos.

  2. I dialogrutan Förgrening namnger du den förgrenade lagringsplatsen, väljer det projekt där du vill att förgreningen ska skapas, väljer de grenar som ska inkluderas i förgreningen och väljer sedan Förgrening. Du kan ange om förgreningen ska innehålla alla grenar eller bara standardgrenen. Om lagringsplatsen innehåller flera ämnesgrenar bör du bara överväga att inkludera standardgrenen i din förgrening.

    Skärmbild av Fork-dialogrutan på sidan Repolagringsfiler i Azure Repos.

Information om hur du förgrenar en GitHub-lagringsplats finns i Förgrena en lagringsplats.

Klona förgreningen lokalt

När du har gjort en fork av ett repository klonar du din fork för att skapa en lokal kopia i en mapp på datorn. Du kan klona från kommandoraden eller med hjälp av en IDE som Visual Studio. Mer information om hur du klonar en lagringsplats finns i Klona en befintlig Git-lagringsplats.

När du klonar en fjärransluten lagringsplats tilldelar Git aliaset origin som en förkortning för URL:en för den fjärranslutna lagringsplats som du klonade. För enkelhetens skull lägger du till ytterligare ett alias med namnet upstream för den lagringsplats som du förgrenade från, vilket kallas den överordnade lagringsplatsen. Följande steg beskriver hur du lägger till ett upstream alias.

Tips

För enkelhetens skull kan du använda aliasen origin och upstream i stället för motsvarande URL:er i dina Git-kommandon.

Följ dessa steg för att lägga till ett upstream alias i Visual Studio:

  1. Välj Verktyg > Alternativ i menyraden för att öppna Alternativ fönstret. Välj Källkontroll > Git-lagringsplatsinställningar > Fjärranslutningar och välj sedan Lägg till för att öppna dialogrutan Lägg till fjärrlagringsplats .

    Skärmbild av knappen Lägg till i panelen Fjärranslutningar i undermenyn Inställningar för Git-lagringsplats på menyn Källkontroll i Visual Studio 2019.

  2. I dialogrutan Lägg till fjärranslutning lägger du till en ny fjärranslutning med namnet upstream och anger Git-klonings-URL:en för lagringsplatsen som du förgrenade. Välj sedan Spara.

    Skärmbild av dialogrutan Lägg till fjärranslutning i Visual Studio 2019.

Skicka lokala ändringar till din gaffel

När du förgrenar skapar du en personlig version av den ursprungliga lagringsplatsen (den ursprungliga lagringsplatsen kallas "uppströms"). Förgrening är oberoende av uppströms, men förgrening delar koden och behåller en länk till uppströms, vilket möjliggör framtida synkronisering. Därför finns det inget som hindrar dig från att arbeta direkt i grenen av den main lokala klonen och sedan push-överföra det arbetet till grenen main av din förgrening. Det är dock i allmänhet bättre att använda funktionsgrenar för ditt arbete. Med hjälp av funktionsgrenar:

  • Du kan underhålla flera oberoende arbetsströmmar samtidigt.

  • Du gör det enklare för andra att förstå det arbete du delar eftersom det arbetet är organiserat i olika arbetsströmmar per gren.

Ett vanligt Git-arbetsflöde innehåller följande steg:

  1. Skapa en lokal funktion eller en felkorrigeringsgren.

  2. Gör ändringar i den nya grenen och genomför ditt arbete. Vanligtvis gör utvecklare flera commitar när de arbetar med en funktion eller buggfix.

  3. Skicka funktionen eller felkorrigeringsgrenen till din förgrening. Din förgrening har aliaset origin.

Information om hur du push-överför ändringarna finns i Dela kod med push-överföring.

Skapa och slutföra en PR

Om du vill sammanfoga de ändringar som du överförde till din förgrening i Azure Repos kan du:

  1. Skapa en PR för att begära granskning och godkännande av dina ändringar. När du öppnar en PR ska du ange PR-källgrenen till funktionsgrenen eller buggfixgrenen i din förgrening. PR-targetgrenen är vanligtvis den main branch av det repository som du forkade. Lagringsplatsen kallas för den överordnade lagringsplatsen och har aliaset upstream.

    Följande skärmbild visar källlagringsplatsen och -grenen samt mållagringsplatsen och grenen för en PR som skapats i Azure Repos.

    Skärmbild av alternativen för PR-källa och målgren i Azure Repos.

    Mer information om hur du skapar en PR med din webbläsare, Visual Studio eller Azure DevOps CLI finns i Skapa en PR.

    Viktigt!

    Alla i Project Valid Users och med behörigheten Läs på den överordnade lagringsplatsen kan öppna en PR till den. Om den överordnade lagringsplatsen har en PR-byggpipeline som är konfigurerad för att köras under skapandet av en PR, kommer ett bygge att köras baserat på de ändringar som introduceras av din PR.

  2. För att din pr ska kunna slutföras måste alla nödvändiga granskare godkänna PR-ändringarna och alla målgrensprinciper måste uppfyllas. Vid PR-godkännande och slutförande sammanfogas ändringarna i PR-källgrenen till PR-målgrenen.

Information om hur du skapar och slutför en GitHub-PR finns i Skapa en pull-begäran och Slå samman en pull-begäran.

Synkronisera din förgrening

När en PR har sammanfogat ändringarna från din förgrening till målgrenen för den överordnade lagringsplatsen kan du hämta från målgrenen för den överordnade lagringsplatsen för att uppdatera motsvarande lokala gren med både dina ändringar och eventuella ändringar som gjorts av andra deltagare. Då är du redo att:

  • Skapa en ny funktion eller en felkorrigeringsgren från den uppdaterade lokala grenen.

  • Uppdatera din förgrening genom att pusha från din uppdaterade lokala gren till origin.

Vanligtvis är målgrenen för den överordnade lagringsplatsen main. Om du inte redigerar din lokala main-gren direkt (du arbetar i funktionsgrenar), kommer det att uppdatera din lokala main-gren utan sammanslagningskonflikter att dra från den uppströms grenen upstream/main.

Nästa steg