Acebit expanderar
Acebit expanderar – automationsess från Dalarna öppnar i Stockholm
När vi jobbar med versionshantering finns det många anledningar till varför det är viktigt att arbeta enligt en standard. För det första ger det alla en gemensam grund att följa, vilket underlättar kommunikation och samarbete. Det ökar även effektiviteten och minskar risken för misstag eftersom alla vet vad som förväntas av dem.
För det andra ger det en känsla av trygghet för alla parter eftersom det finns en tydlig bild av vad som är acceptabelt och vad som inte är det. Detta minskar risken för konflikter och gör det lättare att hantera potentiella problem.
För det tredje tillåter det jämförelse och utvärdering av olika resultat eftersom alla följer samma riktlinjer. Detta gör det enkelt att se vilka metoder som är mest effektiva och möjliggör förbättring och utveckling.
Generellt sett är det viktigt att arbeta efter en standard eftersom det ökar effektiviteten, minskar risken för fel och inkonsekvenser samt gör det möjligt att jämföra och utvärdera resultat. Det är därför viktigt att välja rätt standard och följa den så att allt går så smidigt och effektivt som möjligt.
Git är väldigt flexibelt och låter dig skapa ditt eget arbetsflöde eller adaptera till ett redan existerande. De mest populära flödena är: Basic, Feature Branch, Gitflow, och Forking. Låt oss utforska dessa nedan!
Med detta arbetsflöde har vi ett centralt förvar. Det innebär att alla som jobbar med förvaret klonar det, arbetar på koden lokalt, commitar sina förändringar och slutligen pushar till det centrala förvaret.
Det är väldigt bra om du ska bygga någonting simpelt. Så fort vi får minsta lilla komplexitet; som att två utvecklare jobbar med olika funktionaliteter samtidigt i ett projekt, är detta flöde bristfälligt. Anledningen är att båda jobbar på samma branch, vilket skapar problem för den utvecklare som pushar sin förändring sist.
Side note: Problemet jag beskriver ovan går självklart att lösa enkelt med “git pull” lokalt och åtgärda sammanslagningskonflikterna innan nästa push.
Detta arbetsflöde beskriver sig själv relativt bra. Vi har fortsatt ett centralt förvar med en master branch. Däremot commitar vi inte förändringar direkt mot denna, utan varje förändring sker i en separat branch (därav namnet).
Med detta flöde kan vi enkelt verifiera nya funktioner innan dessa slås samman med master branchen. Dessutom får vi en tydlig separation på att master är allt som är redo för produktion och är stabilt.
Fördelar:
Nackdelar:
Gitflow är väldigt likt Feature Branch. Skillnaden är att vi nu har en branch till förproduktionskod, denna befinner sig mellan funktionsbrancherna och master branchen för att eliminera buggig kod från master. Det ger oss ett tillfälle att först verifiera en ny funktion innan denna slås samman med förproduktionsbranchen. När vi har slagit samman funktionen kan vi därefter testa koden och säkerställa att den är buggfri innan vi gör en ytterligare sammanslagning med master branchen.
Fördelar:
Nackdelar:
Forking innebär att varje utvecklare skapar sina egna kopior (“forks”) på ursprungsförvaret. Med detta får vi ett decentraliserat arbetssätt där en kan jobba på projektet utan att störas av andra utvecklares förändringar. Det kan till exempel vara väldigt effektivt om du vill vidareutveckla ett open source projekt.
Fördelar:
Nackdelar:
Det finns många möjligheter när vi arbetar med Git, ett arbetssätt passar inte alla och det är därför viktigt att utvärdera vilket syfte som passar ditt projekt bäst. Ibland behöver vi till och med skräddarsy en egen standard.
Behöver du experthjälp eller är intresserad av att lära dig mer om versionshantering, CI/CD eller andra moderna arbetssätt inom IT-världen? Klicka här för att kontaka oss!
Acebit expanderar – automationsess från Dalarna öppnar i Stockholm
Acebit rekryterar Isak Ljunggren – Acebit Trainee från Högskolan Dalarna
Även Falu-Kuriren har intresserat sig för Acebit och besökt oss i Falun!
Emanuel Lipschütz ny styrelseordförande i Acebit
Nyligen stötte jag på ett scenario som innebar att ca 200 Meraki-enheter behövde byta inställning från DHCP till statisk IP-adressering. Istället för att gör...
I mina tidigare inlägg om virtuella port-channels kikade vi på vad det är och vilka delar de utgör. Det här avsnittet kommer beröra hur en grundkonfiguration...
Bakgrund Idag tänkt jag skriva några rader om att skriva concurrent kod, eller “samtidighet” om vi prompt ska översätta det till svenska. För att enklare för...
Scrapli Automation - trunk ports