Master-versie Control voor externe teams

Sep 11, 2025
Procedures
Version control

Op afstand werken is de afgelopen jaren veel vaker voor in webontwikkeling. Vóór de besturing van de versie zou het op afstand werken op hetzelfde ontwikkelingsproject een absolute nachtmerrie zijn geweest. Ontwikkelaars zouden moeten hebben Stuur grote bestanden naar elkaar (waarschijnlijk via e-mail), plakken in hun eigen code voordat u het terugstuurt. Er was geen echte manier om te volgen wat er was toegevoegd en wanneer.

  • 6 must-have vaardigheden voor jonge webontwikkelaars

Gelukkig is de versie Control gearriveerd en de ontwikkeling op alle fronten een stuk beter beheersbaar gemaakt. Webprojecten zijn veel gemakkelijker te implementeren en beheren, vooral als het gaat om het werken in een extern ontwikkelingsteam. U hoeft zich niet langer zorgen te maken over de huidige versie van een website die wordt overschreven - elk teamlid is vrij om op elk moment in elk bestand te werken, er is geen verwarring met betrekking tot waar de nieuwste versie van een bestand wordt opgeslagen - en bovenaan cloud opslag helpt ook met het proces.

In deze tutorial gaan we gebruiken Github om onze code te beheren. Er zijn tal van verschillende soorten versie-besturingsapparatuur, zoals bitbucket en TFVC, maar ook al blijven ze allemaal, de principes hetzelfde als het gaat om het beheren van code.

Raadpleeg onze gidsen voor meer manieren om uw site te bouwen, onze gidsen aan de bovenkant website bouwer en web hosting onderhoud.

Vertakkingsmodel

Ten eerste is het erg belangrijk om een ​​succesvol vertaktmodel te hebben bij het werken in een team om het ontwikkelings- en implementatieproces soepel te laten draaien. Je zult waarschijnlijk meerdere ontwikkelaars hebben die aan hetzelfde project werken. Bij het werken met een afstandsbediening, geloof ik dat de beste workflow is samengesteld uit drie hoofdtakken en een reeks tijdelijke:

  • Tak ontwikkelen: Elke regel code is getest en gevalideerd door de klant.
  • Staging Branch: Dit komt overeen met de validatieomgeving.
  • Release tak: Dit bevat de laatste versie van uw website in productie.

Er zal ook een set van functietakken zijn. Deze zullen echter gewoon tijdelijk zijn om in eerste instantie de nieuwe functies uit te bouwen.

Meerdere ontwikkelaars op één project

Version control: Branching model

De beste workflow bestaat uit drie hoofdtakken: ontwikkelen, stelen en vrijgeven

Laten we aannemen dat je een team hebt uitgevoerd met twee ontwikkelaars die op afstand werken. We noemen ze Sarah en James: ze werken allebei aan dezelfde e-commerce-website voor een klant. Sarah moet een functie ontwikkelen die de klantgegevens registreert.

We zouden dit in drie afzonderlijke gebruikersverhalen breken - toevoegen, bewerken en verwijderen - en voeg deze drie tickets toe in de Sprint-achterstand.

Feature takken

Version control: Feature branches

Een functie-tak toevoegen voor de ontwikkeling van een klant-Details-functie en het toevoegen van een filiaal voor gebruikersverhaal voor add-details taak

Laten we zeggen dat Sarah begint op het gedeelte van de klantgegevens toevoegen. Ze zou de functie 'klantgegevens' en een gebruikersverhaal voor de eerste taak 'toevoegen' toevoegen '.

 Git Checkout Ontwikkelen & Amp; & Amp; Git Pull Origin / Development
Git Checkout -B Feature / klant-details
Git Checkout -B Add-Details 

Sarah zou lokaal blijven werken aan het tijdelijke filiaal 'add-address' en haar werk plegen terwijl ze zich ontwikkelt. Laten we nu zeggen dat James Sarah met de klantgegevens van de klant wil helpen, dus begint hij aan de details te werken.

James zou de laatste versie van de gedeelde branch trekken en een nieuwe tak maken voor het gebruikersverhaal 'Delete-Details'. Dan kan hij zijn eigen toevoegingen maken zonder zich zorgen te maken over het overschrijven van de code van Sarah.

 Git Checkout-functie / klantgegevens
Git Pull Origin / Feature / Klant-Details
Git Checkout -B Delete-Details 

Hij zal zijn tijdelijke tak ook lokaal gebruiken en verbinden. Zodra Sarah in haar functie lokaal is voltooid, plaatst ze het ticket in de codevoorziening. Ze zou haar code naar de stagingstak duwen en een pull-aanvraag openen met de stagingomgeving.

// ze duwt haar code naar de filiaal
Git Push Origin add-details
// ze opent een pull-aanvraag met de Staging Environment
Git Request-Pull Staging Add-Details 

We hebben nu de klantgegevens-functie-filiaal en de twee gebruikersverhaalfunctie heeft takken in ontwikkeling 'Add-Details' en 'Delete-Details'.

Samenvoegen

Version control: Adding new branch

Een nieuw filiaal maken voor het gebruikersverhaal verwijderen-details, zodat u toevoegingen maakt zonder u zorgen te maken over het overschrijven van de code van een andere persoon

Zodra haar code is beoordeeld, kan ze haar tak in enscenering samenvoegen. Het ticket bevindt zich nu in de validatiekolom, wachtend op de validatie van de leidende ontwikkelaar.

 // ze krijgt de laatste versie van de stagingtak
Git Checkout Staging & AMP; & AMP; Git Pull Origin / Staging
Git Merge Add-Details & AMP; & AMP; Git Push Origin-enscenering
// ze bouwt de validatieomgeving
// en vraagt ​​de eigenaar van het product om te valideren 

Zodra Sarah's werk is gevalideerd, kan het ticket in de kolom voltooid worden. Ze kan haar werk samenvoegen in het kenmerk, en een ander gebruikersverhaal beginnen, zoals het verwijderen van details van de klant.

 // ze trekt de laatste versie van de functie Branch
Git Checkout-functie / klantgegevens
Git Pull Origin-functie / klantgegevens
Git Merge Add-Adres & AMP; & AMP; Git Push Origin-functie / klantgegevens 

Wanneer de hele functie is gevalideerd door zowel de hoofdontwikkelaar als de klant, kan Sarah de functie-tak samenvoegen in de ontwikkeling, omdat het klaar is om te gaan.

 // ze krijgt de laatste versie van de ontwikkelbranche
Git Checkout Ontwikkelen & Amp; & Amp; Git Pull Origin / Development
Git Merge Feature / Klant-Details & Amp; & Amp; Git Push Origin ontwikkelen 

Implementeren op productie

Version control: Deployment

Eenmaal klaar om te implementeren, ontwikkelen zich in release en start de implementatie

Zodra alles is voltooid en het is klaar om in productie te worden ingevoerd, samenvoegt James zich in release en lanceert de implementatie. Op dit punt zou hij weten dat alle code correct is en de klant gelukkig is. Hij tagt de commit van de release om de geschiedenis van elke versie te krijgen.

 Git Checkout Ontwikkelen & Amp; & Amp; Git Pull Origin / Development
Git Checkout Release & AMP; & AMP; Git Pull Origin / Release
Git Samenvoegen Ontwikkeling & AMP; & AMP; git tag 2.1
Git Push Origin Release -Tags 

Regels om te volgen voor deze workflow

Deze workflow op afstand kan in het begin vrij moeilijk zijn, maar als je je team krijgt om met deze methode te werken, heb je een gratis werkstroom zonder dat je in paniek hoeft te worden over bestanden die worden overschreven of je ontwikkelaars die op hetzelfde gebied werken.

Er zijn enkele belangrijke dingen om te onthouden:

  • Het eerste dat u nodig hebt om uw externe ontwikkelaars te leren, is uw versie besturingswerkflow en zorg ervoor dat ze allemaal uit hetzelfde boek lezen.
  • Als u een functie ontwikkelt, probeert u dit in te breken in kleinere gebruikersverhalen. Op deze manier is het gemakkelijker om elke commit bij te houden.
  • Mis geen enkele stappen: dezelfde workflow moet elke keer worden gevolgd.
  • Je moet altijd je filiaal samenvoegen in ontwikkeling om de volgende release voor te bereiden.
  • U moet de Staging Repository elke week indien mogelijk reinigen. U moet de stagingtak, lokaal en op afstand verwijderen, en het opnieuw maken van het ontwikkelende filiaal - zie voorbeeld hieronder:
 Git Co Ontwikkeling & Amp; & Amp; Git Pull Origin / Development
Git Branch -D-staging & amp; & amp; Git Push Origin --Delete Staging
Git CO -B-staging & amp; & amp; Git Pull Origin Staging 

Extra workflows

Met kleinere projecten wilt u misschien een minder complexe workflow gebruiken. Je zou Master kunnen gebruiken, die de meest actuele versie, een ontwikkeltrak en vervolgens een set takken voor elke extra functie bevat - of dat het geval is, of het nu gaat om het contactformulier. Het hangt allemaal af van je persoonlijke voorkeur.

Managing Merge Conflicts

Omgaan met samenvoegconflicten is moeilijk genoeg als je allemaal in dezelfde kamer werkt, maar ze kunnen nog meer een nachtmerrie worden als je allemaal in een ander kantoor werkt. Het belangrijkste is om te onthouden dat je altijd een samenvoeging kunt maken en terug kunt terugkeren naar de staat voordat het conflict plaatsvond.

Of u nu al de samenvoeging doet als hoofdontwikkelaar of uw team zijn degenen die ze onafhankelijk doen, de eerste stap is om te begrijpen wat er is gebeurd.

  • Heeft een van uw co-ontwikkelaars dezelfde lijn bewerkt in hetzelfde bestand?
  • Hebben ze een bestand verwijderd dat u hebt gewijzigd?
  • Voegden jullie allebei een bestand toe met dezelfde naam?

Git zal je vertellen dat je hebt Ongetallige paden via GIT-status

 $ git status
# Op tak Checkout-systeem
# Heb je ongehinderde paden.
# (repareer conflicten en voer "Git Commit" uit)
​
# Onbehoefte paden:
# (gebruik "git add & lt; file & gt; ..." om resolutie te markeren)
​
# Beide gewijzigd: Checkout.html
​
Er zijn geen wijzigingen toegevoegd om vast te leggen (gebruik "git toevoegen" en / of "git commit -a") 

Nu is de meest voorkomende oorzaak van een conflict wanneer veranderingen van invloed zijn op dezelfde bestanden op dezelfde lijn. Laten we dus eens kijken naar de inhoud van de conflicte lijn. Je zult merken dat Git echt goed is in het feit dat het het conflicteerde gebied zal markeren door het in te schakelen & LT; & LT; & LT; & LT; & LT; HOOFD en & GT; & GT; & GT; & GT; & GT; & GT; & GT; [Other / Branch / Name] ​In dit geval is het checkout-systeem

 & lt; & lt; & lt; & lt; & lt; & lt; & lt; HOOFD
Deze regel is vastgelegd tijdens het werken in de "gebruikersformulier" -tak.
​
Deze regel, daarentegen, was gepleegd tijdens het werken in het tak "Checkout-System".
& GT; & GT; & GT; & GT; & GT; & GT; & GT; Refs / Heads / Checkout-System 

De inhoud na de eerste marker is afkomstig van uw huidige werktak. Na de hoekbeugels vertelt Git ons welke tak de veranderingen vandaan kwamen. Een lijn met scheidt de twee conflicterende veranderingen.

U kunt nu eenvoudig het bestand in een editor openen, naar de conflictmarkeringen zoeken en de nodige wijzigingen aanbrengen. Als je klaar bent, moet het bestand precies kijken zoals je wilt dat het eruit ziet of, alternatief kun je vertellen dat je gewoon gaat met een van de bewerkte versies, genoemd De onze of van hen

 Git Checkout - Ours Path / to / Conflict-File.html 

Er zijn ook veel samenvoegtoepassingen die hiermee kunnen helpen. Caleidoscope is een geweldige voor Mac.

Project- en uitgiftebeheer

Version control: Issues and problems

Verwissel geen problemen met problemen: u kunt ook de labels van het probleem gebruiken voor verbeteringen, vragen en insecten

Het is net zo belangrijk als een leidende ontwikkelaar om een ​​projectmanagementtool te hebben om dingen zoals taken en bugs te beheren, vooral wanneer uw ontwikkelaars niet op kantoor zijn. Er zijn talloze oplossingen die er zijn, zoals Zenhub en Asuna, maar ik geloof dat het ingebouwde project- en uitgifte-systeem van Github de beste is.

Je kunt dingen doen zoals een nieuw project instellen, planken maken of problemen toewijzen. En verwart geen problemen met problemen: u kunt het ook gebruiken voor verbeteringen, vragen en bugs, onder andere.

Hier zijn enkele van de beste functies:

  • Ingebouwd tagging-systeem: Hiermee kunt u uw workflow organiseren en prioriteren en eenvoudig door projecten zoeken voor relevante informatie.
  • Mijlpalen: Perfect voor het associëren van problemen met specifieke functies of projectfasen, zoals bugs die moeten worden opgelost vóór een bèta-lancering of taken die in oktober moeten worden voltooid.
  • Multi-opdrachten: Problemen kunnen worden toegewezen aan gebruikers in bulk, besparen en u efficiënter maken.
  • Commentaar: Ingenieurs en managementteams kunnen gemakkelijk vooruitgang en resultaten bespreken bij elke stap van de weg met behulp van het ingebouwde commentaarsysteem.
  • Taaklijsten: Grotere problemen kunnen worden opgesplitst in fasen om de creatie van tientallen microscopische problemen te ontmoedigen, al uw werk op dezelfde plaats te houden.
  • Markdown-indeling: De mogelijkheid om markdown-opmaak te gebruiken, zal populair zijn bij uw ontwikkelaars en kan op de meeste plaatsen rond Github worden gebruikt.
  • Projectborden: Deze kunnen worden gebruikt om problemen te huisvesten, aanvragen en aantekeningen te trekken, ze categoriseren als kaarten in kolommen van uw keuze zodat u kunt kijken naar grotere projecten als geheel.
  • Hoge beveiliging: U kunt GitHub vertrouwen om uw gegevens veilig te houden en het is moeilijker om inbreuk te maken dan de meeste andere projectbeheersystemen.

Een project instellen

Als u naar GitHub gaat en vervolgens naar een van uw repositories gaat, ziet u een tabblad dat projecten wordt genoemd. Vanaf daar kunt u nieuw project selecteren, uw projectdetails instellen en een nieuwe projectsjabloon maken.

Als u nu het tabblad Kwesties selecteert dat langs de bovenkant is en een nieuw probleem selecteert, kunt u een nieuw probleem maken. U kunt vervolgens verschillende labels toepassen - dit zijn dingen zoals bug, verbetering, vraag en duplicaat. U kunt ook een verbetering gebruiken voor een nieuwe functie of aanvraag. U kunt vervolgens verschillende teamleden toewijzen aan de taak, een mijlpaal en ook het project dat u zojuist hebt gemaakt.

Toegewezen leden hebben dan een lijst met al hun taken en u kunt zelfs de projectkaart gebruiken om een ​​nummer te behouden van wat er momenteel wordt gebouwd. Als je onze eerdere tutorial herinnert, hadden we het over Moving Tickets to Sprint-achterstand en validatie. Dus Github werkt heel goed als een all-in-one tool voor het toezicht op een project.

Dit artikel is oorspronkelijk gepubliceerd in kwestie 311 van netto- , 's werelds best verkochte magazine voor webontwerpers en ontwikkelaars. Koop hier nummer 311 of Abonneer hier

Gerelateerde artikelen:

  • Hoe te slagen als een freelance ontwikkelaar
  • Ontwikkel herbruikbare reageercomponenten
  • 4 tips om je ontwikkelaarvaardigheden te ontwikkelen

Procedures - Meest populaire artikelen

Is uw Apple iCloud-opslag vol? Hier is hoe ruimte vrij te maken

Procedures Sep 11, 2025

(Afbeelding Credit: Apple) De iCloud-service van Apple is een van de Beste cloud-opslag Producten rond..


Collage-effecten maken in de browser met CSS

Procedures Sep 11, 2025

Als je ooit wenste dat je de effecten van een traditioneel kon repliceren collage maker in uw Website-lay-..


Aan de slag met diffuus

Procedures Sep 11, 2025

Een van de eenvoudigste manieren om wat extra leven tot elk stuk te brengen 3d kunst is om er kleur en textuur toe te voegen. Er zijn verschillende namen die aan dit proces wor..


Maak een wiebelig teksteffect met JavaScript

Procedures Sep 11, 2025

Introductie van effecten op tekst en typografie kan een geheel nieuw perspectief toevoegen aan de gebruikerservaring ..


Maak een vectorverplaatsing Mesh-borstel

Procedures Sep 11, 2025

Mis niet Vertex 2018 , ons debuutevenement voor de CG-gemeenschap. Verpakt met inspireren..


Aan de slag met HTML Canvas

Procedures Sep 11, 2025

De HTML & LT; CANVAS & GT; element is een krachtige oplossing voor het maken van pixel-gebaseerde grafische afbeeldingen ..


Maak een laag polybehang in C4D

Procedures Sep 11, 2025

Pagina 1 van 2: Maak een laag polybehang in C4D: Stappen 01-06 Maak een l..


Aan de slag in Amazon Lumberyard: instellen

Procedures Sep 11, 2025

Amazon's nieuwe game-engine, Timmerhoutwerf , is vrij en geweldig voor iedereen met een ontluikende interesse in g..


Categorieën