Grenmappar och filer

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

Visual Studio 2019 | Visual Studio 2022

Du kan använda grenar för att uppnå följande mål:

  • Hantera samtidigt arbete av flera team på samma kodbas.
  • Isolera risker som introduceras av olika uppsättningar med ändringar i kodbasen.
  • Ta ögonblicksbilder och stöd sedan för efterföljande isolerade ändringar (till exempel för att skapa en versionsgren).

Följande bild visar till exempel den grenstruktur som DinnerNow-företaget utvecklade för att uppfylla sina affärsbehov.

Diagram som visar en grenstruktur.

Funktionsteam A och funktionsteam B utför var och en sitt arbete i separata grenar. När teamen är redo att integrera sitt arbete sammanfogar de sina grenar i Dev-grenen. När byggena från Dev-grenen är stabila och redo att testas sammanfogar teamen Dev-grenen till testgrenen.

När varje version släpps förgrenas Main-grenen till en ny versionsgren, till exempel grenen Version1 och grenen Version2. Genom att följa den här strategin kan företaget förbättra eller åtgärda varje tidigare version av produkten separat om det behövs.

Du kan utföra en förgreningsåtgärd med antingen Visual Studio Source Control Explorer, som den här artikeln visar, eller branch kommandot i en kommandotolk. Mer information finns i Grenkommando.

Dricks

Förgrening är en viktig och kraftfull teknik för att skapa en parallell uppsättning versioner av dina filer. Om du använder grenar kan du dock lägga till komplexitet och kostnader för projektet. När du till exempel sammanfogar två grenar kan du behöva lösa konflikter.

Innan du skapar en gren bör du överväga om du bättre kan uppfylla dina behov genom att använda en etikett. Genom att använda en etikett kan du snabbt och enkelt ta en ögonblicksbild av filernas tillstånd så att du senare kan hämta eller skapa filerna i det tillståndet. Mer information finns i Använda etiketter för att ta en ögonblicksbild av dina filer.

Förutsättningar

  • Om du vill konvertera en mapp till en gren måste behörigheten Hantera gren vara inställd på Tillåt.
  • Om du vill förgrena en gren måste behörigheten Hantera gren anges till Tillåt för sökvägarna till käll- och målgrenarna. Behörigheten Koppla för sökvägen till målgrenen måste anges till Tillåt.
  • Om du vill förgrena en mapp eller fil måste din utcheckningsbehörighet och din sammanslagningsbehörighet för målsökvägen anges till Tillåt.

Mer information finns i TFVC-standardbehörigheter.

Konvertera en mapp till en gren

Grenar skiljer sig från mappar. Följande bild visar den översta nivån i DinnerNow-mappstrukturen i Visual Studio Source Control Explorer.

Bild som visar mappstrukturen i Källkontrollutforskaren.

Som bilden visar kan du fortfarande använda mappar för att organisera grenar i ett projekts versionskontrollhierarki. Mappar och grenar har dock ett annat utseende och olika funktioner. När du högerklickar på en mapp eller gren och väljer Avancerade>egenskaper visar du annan information och olika funktioner.

När du utför grenåtgärder har grenar viktiga fördelar jämfört med mappar. Grenar stöder funktioner för versionskontroll som ger extra insyn i din grenstruktur och i var dina ändringsuppsättningar har sammanfogats. Även om du fortfarande kan förgrena och sammanfoga mellan mappar är det bästa sättet för ditt team att endast förgrena och slå samman grenar. I följande procedur beskrivs hur du konverterar en mapp till en gren.

Viktigt!

Kontrollera att mappen som du vill konvertera finns på servern. Om den väntande tilläggsikonen TFSC väntar på tilläggsstatusikon. visas bredvid mappen i Källkontrollutforskaren högerklickar du på mappen och väljer Incheckning Väntande ändringar.

  1. I Källkontrollutforskaren högerklickar du på den mapp som du vill konvertera och väljer Förgrening och sammanslagning>Konvertera till gren.

  2. I dialogrutan Konvertera mapp till gren:

    • I fältet Ägare anger du eventuellt namnet på den person som äger den här grenen. Det här fältet är endast för information och ger inga behörigheter.
    • I fältet Beskrivning kan du ange information som hjälper andra teammedlemmar att använda den här grenen eller förstå dess syfte.
    • Om du konverterar en mapp som du redan har förgrenat markerar du kryssrutan Utför konverteringen rekursivt för alla förgrenade underordnade mappar . Det här alternativet konverterar alla mappar som har förgrenats från den här mappen till grenar.
  3. Välj Konvertera.

Viktigt!

Du kan inte kapsla grenar. Därför kan du inte konvertera en mapp till en gren om den antingen innehåller eller finns i en gren. Följande bild visar till exempel att varken överordnad eller underordnad för FeatureTeamA-grenen kan konverteras till en gren.

Bild som visar att kapslade grenar inte är tillåtna.

När du har konverterat en mapp till en gren kan du konvertera den tillbaka till en mapp om ditt team bestämmer sig för att ändra grenstrukturen.

Konvertera en gren till en mapp

  1. I Källkontrollutforskaren väljer du den gren som du vill konvertera.
  2. Välj Källkontroll>förgrening och Sammanslagning>av konvertera till mapp på Menyn Visual Studio-fil och välj sedan Ja.

Förgrena en gren

När du har konverterat en mapp till en gren kan du sedan skapa andra grenar från den grenen. Följande procedur visar hur du kan använda Visual Studio för att förgrena en gren. Om du vill göra den här uppgiften i kommandotolken läser du Grenkommando.

  1. I Källkontrollutforskaren högerklickar du på den gren som du vill förgrena och väljer Förgrening och Sammanslagningsgren>.

  2. I dialogrutan Gren från <grennamn>, under Gren från version, kan du välja ett alternativ i listan Efter:

    • Den senaste versionen skapar grenen för den senaste versionen i versionskontroll.
    • Med Ändringsuppsättning kan du ange antalet ändringar i rutan Ändringsuppsättning eller välja ellipsen ... för att öppna dialogrutan Sök efter ändringar . Mer information finns i Hitta och visa ändringsuppsättningar.
    • Med datum kan du ange eller välja ett datum i rutan Datum .
    • Med etiketten kan du ange eller hitta en etikett. Mer information finns i Använda etiketter för att ta en ögonblicksbild av dina filer.
    • Med arbetsytans version kan du skapa grenen för en version på en annan arbetsyta.
  3. Under Målgrennamn anger eller bläddrar du till och väljer sökvägen till den nya grenen.

  4. Välj Gren. Grenen skapas och visas i Source Control Explorer.

Kommentar

Till skillnad från de flesta versionskontrollåtgärder genererar den här åtgärden inte någon väntande ändring. I stället slutförs åtgärden omedelbart och du kan inte ångra den.

Förgrena en mapp eller fil

Även om du kan förgrena en mapp eller fil direkt rekommenderar vi att du undviker att göra det. Om du förgrenar en fil eller mapp direkt kan du inte visa din grenhierarki eller spåra dina ändringsuppsättningar. Bästa praxis är att endast förgrena och slå samman grenar, enligt beskrivningen tidigare i den här artikeln.

Men om du har ett särskilt behov av att förgrena en mapp eller fil kan du använda följande procedur. Om du vill göra den här uppgiften i kommandotolken läser du Grenkommando.

  1. I Källkontrollutforskaren högerklickar du på den mapp eller fil som du vill förgrena och väljer Förgrening och sammanslagningsgren>.

  2. I dialogrutan Gren under Mål ändrar du platsen och namnet på den nya grenen, eller väljer Bläddra för att bläddra till och väljer ett mål.

  3. Under Gren från version kan du välja en listruta och välja ett alternativ i listan Efter :

    • Den senaste versionen skapar grenen för den senaste versionen i versionskontroll.
    • Med Ändringsuppsättning kan du ange antalet ändringar i rutan Ändringsuppsättning eller välja ellipsen ... för att öppna dialogrutan Sök efter ändringar . Mer information finns i Hitta och visa ändringsuppsättningar.
    • Med datum kan du ange eller välja ett datum i rutan Datum .
    • Med etiketten kan du ange eller hitta en etikett. Mer information finns i Använda etiketter för att ta en ögonblicksbild av dina filer.
    • Med arbetsytans version kan du skapa grenen för en version på en annan arbetsyta.
  4. Du kan också välja Ladda ned målobjektet till arbetsytan för att skapa en kopia av det versionskontrollerade objektet på den lokala arbetsytan. Avmarkera kryssrutan om du inte behöver en lokal kopia och vill förbättra prestandan genom att inte ladda ned många objekt till datorn.

  5. Välj OK. Grenen skapas och visas i Source Control Explorer.

    Kommentar

    Fönstret Bläddra efter mapp visas om du har valt Ladda ned målobjektet till din arbetsyta och den lokala mapp som du angav inte mappas i den aktuella arbetsytan. Bläddra efter en mapp eller välj Skapa ny mapp, ange en mapp som ska synkroniseras med de versionskontrollerade objekten och välj sedan OK.