Master Version Control for Remote Teams

Sep 17, 2025
hvordan
Version control

Arbejde fjernt er blevet meget mere almindeligt i webudvikling i løbet af de sidste par år. Før versionskontrol ville arbejdet eksternt på samme udviklingsprojekt have været et absolut mareridt. Udviklere ville have haft til Send store filer Til hinanden (sandsynligvis gennem e-mail), indsættes i deres egen kode, før du sender den tilbage. Der var ingen reel måde at spore, hvad der var blevet tilføjet, og hvornår.

  • 6 skal - have færdigheder til unge webudviklere

Heldigvis er Version Control ankommet og gjort udvikling på alle fronter meget mere håndterbare. Webprojekter er blevet meget nemmere at implementere og styre, især når det kommer til at arbejde i et fjernudviklingshold. Du behøver ikke længere bekymre dig om, at den nuværende version af en hjemmeside overskrives - hvert holdmedlem er gratis at arbejde på nogen fil når som helst, der er ingen forvirring om, hvor den nyeste version af en fil opbevares - og toppen Sky lagring hjælper med processen også.

I denne vejledning skal vi bruge Github. at styre vores kode. Der er mange forskellige typer af Version Control Tool derude, som bitbucket og TFVC, men selvom de er alle forskellige, forbliver principperne det samme, når det gælder forvaltningskode.

For flere måder at gøre din websted til at bygge processen lettere, se vores vejledninger til toppen Website Builder. og Web Hosting. service.

Forgreningsmodel.

For det første er det meget vigtigt at have en vellykket forgreningsmodel, når man arbejder i ethvert hold for at gøre udviklings- og implementeringsprocessen fungere problemfrit. Du vil højst sandsynligt have flere udviklere, der arbejder på samme projekt. Når jeg arbejder med en fjern arbejdsstyrke, mener jeg, at den bedste arbejdsgang er sammensat af tre hovedafdelinger samt et sæt midlertidige:

  • Udvikle filial: Hver kode for kode er blevet testet og valideret af klienten.
  • Staging Branch: Dette svarer til valideringsmiljøet.
  • Udgivelsesafdeling: Dette indeholder den sidste version af dit websted i produktionen.

Der vil også være et sæt funktionsgrene. Men disse vil bare være midlertidige til i første omgang at opbygge de nye funktioner.

Flere udviklere på et projekt

Version control: Branching model

Den bedste workflow er sammensat af tre hovedafdelinger: Udvikle, Staging og Release

Lad os antage, at du kører et hold med to udviklere, der arbejder eksternt. Vi vil kalde dem Sarah og James: De arbejder begge på samme e-handelswebsted for en klient. Sarah skal udvikle en funktion, der registrerer kundens detaljer.

Vi ville bryde dette ned i tre separate brugerhistorier - tilføjer, redigere og fjerne - og derefter tilføje disse tre billetter i Sprint Backlog.

Feature Grenes.

Version control: Feature branches

Tilføjelse af en funktion gren til udvikling af en kundedetaljer og tilføjer en brugerhistorieafdeling for tilføjelsesopgave

Så lad os sige, at Sarah begynder på sektionen Tilføjelse af kundeoplysninger. Hun ville være nødt til at oprette funktionen gren 'kunde-detaljer' og en brugerhistorie en til den første opgave 'add-detaljer'.

 GIT Checkout Udvikle & Amp; & Amp; git pull Oprindelse / Udvikling
git checkout -b funktion / kunde-detaljer
git checkout -b add-detaljer 

Sarah ville fortsætte med at arbejde på den midlertidige filial 'add-adresse' lokalt og begå hendes arbejde, da hun udvikler sig. Lad os nu sige, at James ønsker at hjælpe Sara med kundens detaljer, så han begynder at arbejde på detaljeringsslettet.

James ville trække den sidste version af den delte filial og oprette en ny filial for brugerhistorien 'Slet-detaljer'. Så kan han begynde at lave sine egne tilføjelser uden at bekymre sig om at overskrive Sarahs kode.

 GIT checkout funktion / kunde-detaljer
git pull Oprindelse / funktion / kunde-detaljer
git checkout -b slet-detaljer 

Han vil også bruge sin midlertidige filial til kode lokalt og begå eventuelle ændringer. Når Sarah har afsluttet sin funktion lokalt, sætter hun billetten i kode gennemgang. Hun ville skubbe sin kode til Staging-grenen og åbne en pull-anmodning med stagingmiljøet.

// hun skubber sin kode til staging filialen
git push oprindelse Tilføj-detaljer
// Hun åbner en pull-anmodning med stagingmiljøet
git anmodning-pull station add-detaljer 

Vi ville nu have den kundeoplysninger Feature filial og de to brugerhistorie funktionen filialer i udvikling 'Tilføj-detaljer' og 'Slet-detaljer'.

Fusionering.

Version control: Adding new branch

Oprettelse af en ny filial til brugerhistorien sletter detaljer, så du kan lave tilføjelser uden at bekymre dig om at overskrive en anden persons kode

Når hendes kode er blevet gennemgået, kan hun fusionere sin filial til at stole. Billetten er nu i valideringskolonnen og venter på valideringen fra den ledende udvikler.

 // Hun får den sidste version af Staging Branch
git checkout staging & amp; & amp; git pull Oprindelse / Staging
git ferge add-detaljer & amp; & amp; git push oprindelse staging
// Hun bygger valideringsmiljøet
// og beder produktejeren om at validere 

Når Sarahs arbejde er blevet valideret, kan billetten flyttes til den færdige kolonne. Hun kan fusionere sit arbejde i funktionen og starte en anden brugerhistorie, som sletning af kundeoplysninger.

 // Hun trækker den sidste version af funktionen af ​​funktionen
git checkout funktion / kunde-detaljer
git pull Origin funktion / kunde-detaljer
git ferge add-adresse & amp; & amp; GIT Push Origin Feature / Customer-DETALJER 

Når hele funktionen er blevet valideret af både hovedudvikleren og klienten, kan Sarah fusionere funktionen for at udvikle sig, da den er klar til at gå.

 // Hun får den sidste version af udviklingen af ​​udviklingen
git checkout udvikle & amp; & amp; git pull Oprindelse / Udvikling
git fusion funktion / kunde-detaljer & amp; & amp; git push oprindelse udvikle sig 

Implementere til produktion

Version control: Deployment

Når de er klar til at implementere, udvikler sammen med at udvikle sig og starte implementeringen

Når alt er færdigt, og det er klar til at implementere i produktion, udvikler James fusionerer til udgivelse og lancerer implementeringen. På dette tidspunkt ville han vide, at al kode er korrekt, og klienten er glad. Han tagger indgivelsen af ​​udgivelsen for at få historien om hver version.

 GIT Checkout Udvikle & Amp; & Amp; git pull Oprindelse / Udvikling
git checkout release & amp; & amp; git pull Origin / Release
git fusion udvikle & amp; & amp; git tag 2.1.
git push oprindelse release -tags 

Regler at følge for denne workflow

Denne fjerntliggende udviklingsarbejdsproces kan være ret svært at forstå i starten, men hvis du får dit team til at arbejde ved denne metode, så har du en gratis arbejdsstrøm uden behov for at panikere om, at filer overskrives eller dine udviklere arbejder på samme område.

Der er nogle vigtige ting at huske:

  • Den første ting, du bliver nødt til at undervise dine eksterne udviklere, er din Version Control Workflow og sørg for, at de alle læser fra samme bog.
  • Hvis du udvikler en funktion, så prøv at bryde dette ned i mindre brugerhistorier. På denne måde er det nemmere at holde styr på hver forpligtelse.
  • Gå ikke glip af nogle trin: Den samme arbejdsgang skal følges hver gang.
  • Du skal altid fusionere din filial til at udvikle for at forberede den næste udgivelse.
  • Du bør rense staging repository hver uge, hvis det er muligt. Du bør slette staging filialen, lokalt og eksternt, og genskabe den fra udvikling af gren - se eksempel nedenfor:
 GIT CO Develop & Amp; & Amp; git pull Oprindelse / Udvikling
git gren-d-staging & amp; & amp; git push oprindelse --Delete staging
git co -b staging & amp; & amp; git pull Origin Staging 

Yderligere arbejdsgange.

Med mindre projekter kan du måske bruge en mindre kompleks workflow. Du kan bruge Master, som indeholder den mest opdaterede version, en udviklingsgren og derefter et sæt af filialer for hver yderligere funktion - om det er forum, kontaktformular, checkout system. Det hele afhænger af din personlige præference.

Styring af fusionskonflikter

At håndtere sammenkomstkonflikter er svært nok, hvis du alle arbejder i samme rum, men de kan blive endnu mere af et mareridt, hvis du alle arbejder på et andet kontor. Det vigtigste er at huske på, at du altid kan fortryde en sammenkomst og vende tilbage til staten, før konflikten opstod.

Uanset om du laver alle fusionerne som blyudvikler eller dit hold, er dem, der gør dem selvstændigt, er det første skridt at forstå, hvad der er sket.

  • Har en af ​​dine medudviklere redigeret den samme linje i samme fil?
  • Har de slettet en fil, som du har ændret?
  • Har du begge tilføjet en fil med samme navn?

Git vil fortælle dig, at du har Unmergede stier Via. git status. :

 $ git status
# På gren checkout-system
# Du har ikke-fyldte stier.
# (reparere konflikter og køre "git commits")
#
# Unmergede stier:
# (brug "git add & lt; fil & gt; ..." for at markere opløsning)
#
# begge modificerede: checkout.html
#
Ingen ændringer tilføjet til at begå (brug "git add" og / eller "git commit -a") 

Nu er den mest almindelige årsag til en konflikt, når ændringer påvirker de samme filer på samme linje. Så lad os kigge på indholdet af den konfliktede linje. Du vil bemærke, at GIT er rigtig god i, at det vil markere det konfliktede område ved at omslutte det i & lt; & lt; & lt; & lt; hoved og & gt; & gt; & gt; & gt; & gt & gt; & gt; [andet / gren / navn] . I dette tilfælde er det checkout-system .

 & lt; & lt; & lt; & lt; & lt; HOVED
Denne linje blev begået under arbejdet i afsnittet "User-Form".
=======
Denne linje blev derimod begået under arbejdet i filialens "checkout-system".
& gt; & gt; & gt & gt; & gt; & gt; & gt; Refs / Heads / Checkout-System 

Indholdet efter den første markør stammer fra din nuværende arbejdsafdeling. Efter vinkelbeslagene fortæller git os, hvilken afdeling ændringerne kom fra. En linje med ======= adskiller de to modstridende ændringer.

Du kan nu blot åbne filen i en editor, søge efter konfliktmarkørerne og foretage de nødvendige ændringer. Når du er færdig, skal filen se præcis ud som du vil have det til at se eller alternativt kan du fortælle git, at du simpelthen vil gå med en af ​​de redigerede versioner, kaldet vores eller deres .

 git checkout --ours sti / til / konflikt-file.html 

Der er også mange flette værktøjsprogrammer, der kan hjælpe med dette. KaleIdoScope er en fantastisk til MAC.

Projekt- og udstedelsesstyring

Version control: Issues and problems

Forveksler ikke problemer med problemer: Du kan også bruge problemmærkning til forbedringer, spørgsmål og fejl

Det er lige så vigtigt som en ledende udvikler at have et projektstyringsværktøj til at styre ting som opgaver og fejl, især når dine udviklere ikke er kontorbaserede. Der er mange løsninger derude, såsom Zenhub og Asuna, men jeg tror Githubs indbyggede projekt- og problemsystem er det bedste.

Du kan gøre ting som at oprette et nyt projekt, oprette bestyrelser eller tildele problemer. Og ikke bare forvirre problemer med problemer: Du kan også bruge det til forbedringer, spørgsmål og bugs, blandt andet.

Her er et par af sine bedste funktioner:

  • Indbygget tagging system: Giver dig mulighed for at organisere og prioritere din workflow og nemt søge gennem projekter for relevant information.
  • Milepæle: Perfekt til at associere problemer med specifikke funktioner eller projektfaser, såsom fejl, der skal løses, før en beta-lancering eller opgaver skal udfyldes i oktober.
  • Multi-opgaver: Problemer kan tildeles brugere i bulk, sparer tid og gør dig mere effektiv.
  • Kommentering: Ingeniører og ledelseshold kan nemt diskutere fremskridt og resultater på alle trin i vejen ved hjælp af det indbyggede kommentar system.
  • Opgavelister: Større problemer kan opdeles i faser for at modvirke oprettelsen af ​​snesevis af mikroskopiske problemer, holde alt dit arbejde på samme sted.
  • Markdown Format: Evnen til at bruge Markdown Formatering vil vise sig populær hos dine udviklere, og den kan bruges på de fleste steder omkring Github.
  • Projektbrætter: Disse kan bruges til at huse problemer, trække anmodninger og noter, kategorisere dem som kort i kolonner efter eget valg, så du kan se på større projekter som helhed.
  • Høj sikkerhed: Du kan stole på GitHub for at holde dine data sikre, og det er sværere at bryde end de fleste andre projektstyringssystemer.

Opsætning af et projekt

Hvis du går til Github og derefter gå til en af ​​dine repositorier, vil du se en fane, der kaldes projekter. Derfra kan du vælge nyt projekt, oprette dine projektoplysninger og oprette en ny projektskabelon.

Hvis du nu vælger fanen Problemer, der ligger langs toppen, og vælg nyt problem, vil du være i stand til at oprette et nyt problem. Du kan derefter anvende forskellige etiketter - det er ting som fejl, forbedring, spørgsmål og duplikat. Du kan også bruge forbedring for en ny funktion eller en anmodning. Du kan derefter tildele forskellige holdmedlemmer til opgaven, en milepæl og det projekt, du lige har oprettet.

Tildelte medlemmer vil så have en liste over alle deres opgaver, og du kan endda bruge projektkortet til at holde styr på, hvad der for øjeblikket er bygget. Hvis du husker vores tidligere tutorial, talte vi om at flytte billetter til Sprint Backlog og validering. Så Github virker rigtig godt som et alt-i-et-værktøj til at overvåge et projekt.

Denne artikel blev oprindeligt offentliggjort i udstedelse 311 af net , verdens bedst sælgende magasin til webdesignere og udviklere. Køb problem 311 her eller Abonner her .

Relaterede artikler:

  • Sådan lykkes som en freelance-udvikler
  • Udvikle genanvendelige reagerkomponenter
  • 4 tips til at udvikle dine udvikler færdigheder

hvordan - Mest populære artikler

4 trin til brug af variable skrifttyper

hvordan Sep 17, 2025

(Billedkredit: fremtiden) Variable skrifttyper Aktiver skriftdesignere til at definere type variationer i selve skrif..


7 Top Tips til at starte din egen virksomhed

hvordan Sep 17, 2025

Hvis du har følt dig fast i en kreativ rusk, kan det være værd at have et øjeblik at tage lager på din karriere og bestemme,..


belyser dit 3D-arbejde med kuppelygter

hvordan Sep 17, 2025

Brugen af ​​kuppelys har været en af ​​de største fremskridt i CGI-skabelsen i løbet af det sidste årti. Badning en s..


Sådan opbygges komplekse layouter ved hjælp af CSS

hvordan Sep 17, 2025

Layout for internettet har altid været begrænset, der har virkelig aldrig været noget virkelig dedikeret til at gøre indhold ..


Sådan prototype En mobil app med Origami Studio

hvordan Sep 17, 2025

I en verden, hvor brugerne har høje forventninger til deres erfaring på web- og mobilen, er prototyping og brugerevaluering nøglen. Det er nu almindeligt at progressivt iterere på prototy..


Tilsæt livsstil til dine oliemalerier med disse toptips

hvordan Sep 17, 2025

Materialer. Marjolein bruger linolie som et medium, som har gavn af tørring inden for dage. Når du arbej..


Sådan tegner du en våd figur

hvordan Sep 17, 2025

At male en figur, der ser troværdigt vådt, kræver, at du tager højde for en række faktorer - en nøgle, der er den type stof..


Sådan laver du en realistisk sportsvognsgender

hvordan Sep 17, 2025

I løbet af de seneste år har jeg honet mine færdigheder i belysning og gengivelse samt nogle andre teknikker med forskellige g..


Kategorier