sql >> Databasteknik >  >> RDS >> Database

Git Branching Naming Convention:Best Practices

Git erbjuder flexibla förgreningsstrategier, men vad betyder det? Med enkla ord är en grenstrategi en uppsättning regler, en konvention som hjälper team och utvecklare – de kan följa dessa regler och konventioner för att skapa en ny gren, dess flöde, etc.

Att inte använda lämpliga namnkonventioner leder till förvirring och komplicerar kodunderhållsteamet. Vi kan inte ignorera Gits bästa praxis för förgrenade namnkonventioner.

Git-förgreningsstrategier tillåter separation av arbete. I stora drag kan vi dela in Git-grenar i två kategorier:ordinarie och tillfälliga grenar.

Vanliga Git-grenar

Dessa grenar kommer att vara tillgängliga i ditt arkiv på permanent bas. Deras namnkonvention är enkel och okomplicerad.

  • Utveckling (dev ) är den huvudsakliga utvecklingsgrenen. Utvecklargrenens idé är att göra ändringar i den och begränsa utvecklarna från att göra några ändringar i huvudgrenen direkt. Ändringar i utvecklargrenen genomgår granskningar och, efter testning, slås de samman med huvudgrenen.
  • Master (master ) är standardgrenen tillgänglig i Git-förvaret. Det ska vara stabilt hela tiden och tillåter inte någon direkt incheckning. Du kan bara slå ihop det efter kodgranskning. Alla teammedlemmar är ansvariga för att hålla mastern stabil och uppdaterad.
  • QA (QA ), eller testgren, innehåller all kod för QA-testning och automationstestning av alla implementerade ändringar. Innan någon förändring går till produktionsmiljön måste den genomgå QA-testning för att få en stabil kodbas.

Tillfälliga Git-grenar

Som namnet indikerar är dessa grenar som kan skapas och tas bort vid behov. De kan vara följande:

  • Bugfix
  • Hot Fix
  • Funktionsgrenar
  • Experimentella grenar
  • WIP-grenar

Det finns många format och namnkonventioner som rekommenderas av experter för tillfälliga filialer.

Här är ett enkelt arbetsflöde av Git-grenar.

Git Branching Naming Convention

I den här artikeln kommer jag att granska och dela de sju bästa namnkonventionerna som jag använde personligen tidigare för att säkerställa deras effektivitet.

1. Börja filialnamnet med ett gruppord

Det är en av de bästa metoderna. Gruppordet kan vara vad som helst för att matcha ditt arbetsflöde.

Jag gillar korta ord som följande:

Bug – Felet som måste åtgärdas snart

WIP – Arbetet pågår och jag är medveten om att det inte kommer att slutföras snart

Genom att titta på filialnamnet kan du förstå vad den här Git-grenen handlar om och dess syfte.

Ta en titt på exemplen nedan:

  • bug-logo-alignment-issue – utvecklaren försöker fixa problemet med logotypjusteringen;
  • wip-ioc-container-added – grenen relaterar till uppgiften att lägga till en pågående IoC-behållare.

2. Använd unikt ID i filialnamn

Du kan använda issue tracker-ID i ditt filialnamn. Jag föredrar den här metoden när jag arbetar med att fixa vissa buggar. Till exempel:

wip-8712-add-testing-module

Namnet visar att grenen gäller uppgiften att lägga till en testmodul, problemets spårnings-ID är 8712 och arbetet pågår.

Ytterligare en fördel med att använda ett externt spårnings-ID i filialnamnet är möjligheten att spåra framstegen från ett externt system.

3. Använd bindestreck eller snedstreck som avgränsare

Många utvecklare använder snedstreck som avgränsare, och många använder bindestreck. Vilken du ska använda – beror på dig och ditt teams preferenser.

Min åsikt är att bindestreck gör namnet mer bekvämt att läsa, så det är en lämplig avgränsare i grennamn. Du kan använda snedstreck, bindestreck och understreck. Poängen är att vara konsekvent.

Det finns två huvudsakliga fördelar med att använda en separator i filialnamnet:

  1. Det ökar läsbarheten och hjälper till att undvika förvirring;
  2. Det gör det lättare att hantera, särskilt om du har att göra med många grenar.

Exempel 1. Git grennamn utan någon separator:

featureupgradejqueryversionloginmodule

Exempel 2. Genom att lägga till en separator (i det här fallet är det ett understreck) gör du Git-grennamnet läsbart:

feature_upgrade_jquery_version_login_module

4. Git-gren med författarens namn

Många företag föredrar att lägga till författares namn i filialnamnen enligt formatet nedan:

<author>_<branch-type>_<branch-name>

T.ex. rajeev.bera_feature_new-experimental-changes

Denna metod möjliggör enkel spårning av olika utvecklares arbete och framsteg med ytterligare system.

5. Undvik att endast använda siffror

Vissa utvecklare använder bara problemets ID i filialnamnet, vilket inte är till hjälp för arbetets framsteg.

Det finns till exempel ett filialnamn 9912 – vad ska detta magiska nummer säga oss? Det betyder bara mer förvirring och risk för misstag, speciellt vid sammanslagning med andra git-grenar.

6. Undvik att använda alla namnkonventioner samtidigt

Att blanda och matcha alla namnkonventioner för Git-grenar är inte den bästa praxisen. Det skapar bara förvirring och komplicerar de övergripande processerna.

Ett team bör en gång bestämma vilka namnkonventioner som ska användas i arbetet och hålla sig till dem. Konsekvens är det mest kritiska.

7. Undvik långa beskrivande namn för långlivade grenar

Den väsentliga egenskapen hos ett filialnamn är att det ska vara exakt och informativt. Låt oss ta en titt på några exempel igen:

wip_login_module_which_will_used_in_the_public_website
wip_login_module_which_will_used_in_the_internal_website

Där är filialnamnen långa och detaljerade. Det är inte nödvändigt. Istället kan du använda följande variant:

wip_feature_login_module

Detta namn är kort, men det förklarar syftet med denna gren.

Slutsats

Git-förgreningsmodellen är kraftfull, men du måste hantera grenarna korrekt och effektivt. En av de nödvändiga faktorerna är att följa samma konventioner av alla team, särskilt – namnkonventionerna för det lokala förvaret.

För att se till att ditt team använder de överenskomna konventionerna, upprätthåll standarderna. Ett av de enklaste sätten är att använda Git-krokar, som pre-commit-kroken. Jag hoppas att det kommer att ge dig en uppfattning om Git-förgreningsmodellerna och deras namnkonvention.


  1. PowerManager.PARTIAL_WAKE_LOCK android

  2. Clustered och Non Clustered Index:7 topppoäng förklarade

  3. Topp 10 vanliga frågor om SQL Server Performance Monitoring

  4. Mysql-databassynkronisering mellan två databaser