Sådan bruges Git effektivt

Foto af JESHOOTS.COM på Unsplash
Koden fungerede i går, men i dag er den ikke
Koden blev slettet
En underlig bug er pludselig blevet introduceret, og ingen ved hvordan

Hvis du har været i en af ​​ovenstående situationer, er dette indlæg noget for dig.

Bortset fra at kende git add, git commit og git push, er der en masse andre vigtige teknikker i Git. At kende disse vil hjælpe meget på lang sigt. Her vil jeg dække nogle af de ting, der giver dig mulighed for at udnytte Git bedst muligt.

Git-arbejdsgange

Hver gang flere udviklere er involveret i et projekt, er det nødvendigt at bruge den rigtige arbejdsgang til Git. Her vil jeg dække en arbejdsgang, som er meget effektiv i store projekter med flere udviklere.

Forhåbentlig vil dette arbejdsdiagram, som jeg oprettede, hjælpe dig med at visualisere processen :)

Scenarie

Pludselig er du blevet den tekniske føring for et projekt, hvor du planlægger at bygge den næste Facebook. Holdet har tre udviklere:

  1. Alice: har et års erfaring og kender programmering
  2. Bob: har et års erfaring og kender programmering
  3. John: har 3 års erfaring og kender programmering godt
  4. Du: tildelt som teknisk lead til dette projekt

Udviklingsproces i Git

Master gren

  1. Mastergrenen skal altid have en kopi af den eksisterende kode i produktionen.
  2. Ingen - inklusive teknisk lead - skal kode direkte i mastergrenen, da det er en kopi af produktionskoden.
  3. Den faktiske kode er skrevet i andre grene.

Slip gren

  1. Når projektet begynder, er den første ting at gøre at oprette en frigørelsesgren til projektet. Slipgrenen oprettes fra mastergrenen.
  2. Al kode vedrørende dette projekt vil være i frigørelsesgrenen. Slipgrenen er bare en normal gren med præfixudgivelsen /.
  3. Lad os kalde udgivelsesgrenen for dette eksempel release / fb.
  4. Det er muligt, at der er flere projekter, der kører på den samme kodebase. Så for hvert projekt oprettes en separat udgivelsesgren. Lad os sige, at der er endnu et projekt, der kører parallelt. Derefter kan projektet have en separat udgivelsesgren som frigivelse / messenger
  5. Årsagen til at have en frigørelsesgren er, at den samme kodebase kan have flere projekter, der kører parallelt - der skal ikke være nogen konflikt mellem projekterne.

Funktionsgren

  1. For hver funktion, der er indbygget i applikationen, oprettes en separat funktionsgren. Dette sikrer, at funktionerne kan bygges uafhængigt
  2. Funktionsgren er ligesom enhver anden gren, men med præfiksfunktionen /
  3. Nu har du, som teknisk leder, bedt Alice om at oprette en login-skærm til Facebook. Så hun opretter en ny funktionsgren til dette. Lad os ringe til funktionsgrenens funktion / login. Alice skriver kun hele login-koden i denne funktionsgren.
  4. Funktionsgrenen oprettes generelt fra udgivelsesgrenen
  5. Bob har fået til opgave at oprette anmodningssiden "Ven". Så Bob opretter en funktionsgren kaldet feature / friendrequest
  6. Johns opgave er at bygge nyhedsfeeden. Så John opretter en funktionsgren kaldet funktion / nyhedsfeed
  7. Alle udviklerne koder i deres individuelle funktionsgrene. Indtil videre så god
  8. Lad os nu sige, at Alice er færdig med sin opgave og login-koden er klar. Hun skal sende sin kode til frigørelsesgrenens frigivelse / fb fra sin funktionsgrenfunktion / login. Dette gøres gennem en pull-anmodning.

Træk anmodning

Først og fremmest skal en anmodning om træk ikke forveksles med git pull.

Udvikleren kan ikke skubbe koden direkte ind i frigørelsesgrenen. Teknologiledningen skal gennemgå funktionskoden, inden den går ind i release-grenen. Dette gøres gennem en pull-anmodning.

Alice kan hæve trækanmodningen som følger i GitHub - disse trin er specifikt til GitHub.

Lige ved siden af ​​filialnavnet er der en mulighed kaldet "Ny pull-anmodning". Ved at klikke på dette åbnes en ny skærm vist nedenfor:

Her:

  • Sammenlign gren skal være Alice's funktionsgren-funktion / login
  • basegrenen skal være frigørelsesgrenfrigørelsen / fb.

Når dette er gjort, skal Alice indtaste en titel og en beskrivelse af pull-anmodningen og til sidst klikke på “Create Pull Request”. Alice er også nødt til at tildele en anmelder til denne pull-anmodning. Hun indtaster dit navn som korrekturlæser, da du er teknisk leder.

Teknisk lead gennemgår derefter koden i pull-anmodningen og fletter koden fra funktionsgrenen ind i frigørelsesgrenen

Så nu har du fusioneret koden fra funktionen / login-grenen til udgivelsen / fb-grenen, og Alice er temmelig glad for, at hendes kode er blevet slået sammen.

Kodekonflikter

  1. Bob har også udfyldt sin kode og har rejst en pull-anmodning fra funktion / venebegæring til frigivelse / fb.
  2. Da frigørelsesgrenen allerede har login-koden, opstår kodekonflikter. Det er korrekturlæserens ansvar at løse disse kodekonflikter og flette koden. I dette tilfælde er du som teknisk leder nødt til at løse disse kodekonflikter og flette koden.
  3. Nu har John også udfyldt sin kode og vil tilføje sin kode til udgivelsesgrenen. Men John er ret god til at håndtere kodekonflikter. John tager den nyeste kode fra frigivelse / fb-gren til sin egen funktionsgrenfunktion / nyhedsfeed (enten gennem git pull eller git merge). John løser alle de konflikter, der er til stede. Nu har funktions- / nyhedsfeedsgrenen også alle koder til stede i frigivelse / fb.
  4. Endelig rejser John en pull-anmodning. Denne gang er der ingen kodekonflikter i pull-anmodningen, da John allerede har løst dem.

Så der er to måder at løse kodekonflikter på:

  • Første metode: korrekturlæser af pull-anmodningen skal løse kodekonflikter.
  • Anden metode: udvikleren sikrer, at den nyeste kode fra udgivelsesgrenen samles i funktionsgrenen og løser selv konflikterne.

Mastergren igen

Når projektet er afsluttet, flettes koden fra frigørelsesgrenen tilbage til mastergrenen. Koden distribueres derefter til produktion. Således er koden i produktionen og koden i mastergrenen altid synkroniseret. Dette sikrer også, at den ajourførte kode for ethvert fremtidig projekt er tilgængelig i master.

Referencer

Mere information om anmodninger om træk er her.

Tillykke

Du ved nu, hvordan du bedst bruger Git. Git har nogle andre begreber som ændring af forpligtelser og omplacering, som også er nyttige. Men Git-arbejdsgang er temmelig vigtig for store projekter for at få succes.

Om forfatteren

Jeg elsker teknologi og følger teknologiens fremskridt. Jeg kan også godt lide at hjælpe andre med al viden, jeg har i teknologirummet.

Du er velkommen til at oprette forbindelse til mig på min LinkdIn-konto https://www.linkedin.com/in/aditya1811/

Du kan også følge mig på twitter https://twitter.com/adityasridhar18

Min hjemmeside: https://adityasridhar.com/

Andre indlæg af Me

Bedste fremgangsmåder, mens du bruger Git

Her er min introduktion til Git.