Implementera arbetsflödet för förgrening
En fork är en kopia av ett repo. Genom att skapa en förgrening av ett arkiv kan du fritt experimentera med ändringar utan att påverka det ursprungliga projektet.
Oftast används gafflarna för att föreslå ändringar i någon annans projekt. Eller använd någon annans projekt som utgångspunkt för din idé.
En fork är en fullständig kopia av ett repository, inklusive alla filer, commits och (valfritt) grenar.
Förgreningar är ett bra sätt att stödja ett arbetsflöde för inre källa: du kan skapa en förgrening för att föreslå ändringar när du inte har behörighet att skriva till det ursprungliga projektet direkt.
När du är redo att dela ändringarna, är det enkelt att bidra tillbaka med dem genom att använda pull-begäranden.
Vad finns i en gaffel?
En förgrening börjar med allt innehåll i dess överordnade (ursprungliga) lagringsplats.
Du kan inkludera alla grenar eller begränsa dem till endast standardgrenen när du skapar en förgrening.
Ingen av behörigheterna, principerna eller byggpipelines är tillämpade.
Den nya förgreningen fungerar som om någon klonade den ursprungliga lagringsplatsen och sedan push-överförde den till en ny, tom lagringsplats.
När en förgrening har skapats delas inte nya filer, mappar och grenar mellan lagringsplatserna om inte en pull-begäran (PR) bär med sig dem.
Dela kod mellan förgreningar
Du kan skapa PR:er i båda riktningarna: från förgrening till uppströms eller uppströms till förgrening.
Den vanligaste metoden är att gå från en fork till upstream.
Mållagringsplatsens behörigheter, principer, byggen och arbetsobjekt gäller för PR.
Välja mellan grenar och gafflarna
För ett litet team (2–5 utvecklare) rekommenderar vi att du arbetar på en enda lagringsplats.
Alla bör arbeta i en ämnesgren och huvudavsnittet bör skyddas med grenprinciper.
När ditt team blir större kan du växa ur den här lösningen och kan föredra att byta till ett förgreningsarbetsflöde.
Vi rekommenderar förgreningsarbetsflödet om lagringsplatsen har många tillfälliga eller ovanliga kommittéer (t.ex. ett projekt med öppen källkod).
Vanligtvis har endast kärndeltagare i projektet direkta incheckningsrättigheter till lagringsplatsen.
Det skulle hjälpa om du bad medarbetare utanför den här kärnuppsättningen att arbeta från en förgrening av lagringsplatsen.
Dessutom isoleras deras ändringar från dina tills du har haft en chans att granska arbetet.
Förgreningsarbetsflödet
- Skapa en förgrening.
- Klona den lokalt.
- Gör dina ändringar lokalt och pusha dem till en gren.
- Skapa och slutför en pr till uppströms.
- Synkronisera din fork till den senaste versionen från upstream.
Skapa förgrening
- Gå till lagringsplatsen för att fork:a och välj fork.
- Ange ett namn och välj det projekt där du vill att förgreningen ska skapas. Om lagringsplatsen innehåller många ämnesgrenar rekommenderar vi att du bara förgrenar standardgrenen.
- Välj ellipsen och sedan Förgrena för att skapa förgreningen.
Not
Du måste ha behörigheten Skapa lagringsplats i det valda projektet för att skapa en förgrening. Vi rekommenderar att du skapar ett separat projekt för forks där alla deltagare har tillståndet att skapa ett arkiv. Ett exempel på hur du beviljar den här behörigheten finns i Ange Behörigheter för Git-lagringsplats.
Klona din gaffel lokalt
När din förgrening är klar klonar du den med hjälp av kommandoraden eller en IDE som Visual Studio. Forken kommer att vara din origin-fjärr.
Efter kloningen vill du för enkelhetens skull lägga till den ursprungliga lagringsplatsen (där du ursprungligen skapade din förgrening) som en fjärranslutning med namnet upstream.
git remote add upstream {upstream_url}
Gör och pusha ändringar
Det går att arbeta direkt i main – den här förgreningen är ju trots allt din egen kopia av repositoriet.
Vi rekommenderar dock att du fortfarande arbetar i en ämnesgren.
Det gör att du kan underhålla flera oberoende arbetsströmmar samtidigt.
Dessutom minskar det förvirringen senare när du vill synkronisera ändringar i din fork.
Gör dina ändringar och skicka in dem som vanligt. När du är klar med ändringarna skickar du dem till ursprungslandet (din förgrening).
Skapa och slutföra en PR
Öppna en pull-begäran från din förgrening till uppströms. Alla policys som kräver granskare och kompileringar kommer att tillämpas på den överordnade lagringsplatsen. När alla principer är uppfyllda kan PR:en slutföras och ändringarna blir en permanent del av den överordnade lagringsplatsen.
Viktig
Alla med läsbehörighet kan öppna en PR till överordnade. Om en byggpipeline för PR konfigureras körs bygget mot koden som har introducerats i förgreningen.
Synkronisera din fork till den senaste versionen
När du har fått din pull request accepterad i upstream bör du se till att din fork återspeglar det senaste tillståndet för repot.
Vi rekommenderar att du bygger om den överordnade huvudgrenen (förutsatt att huvudgrenen är den huvudsakliga utvecklingsgrenen).
git fetch upstream main
git rebase upstream/main
git push origin
Med arbetsflödet för förgrening kan du isolera ändringar från huvudlagringsplatsen tills du är redo att integrera dem. När du är klar är det lika enkelt att integrera kod som att slutföra en pull-begäran.