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.
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.
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:
Er zal ook een set van functietakken zijn. Deze zullen echter gewoon tijdelijk zijn om in eerste instantie de nieuwe functies uit te bouwen.
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.
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'.
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
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
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:
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
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.
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.
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.
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:
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:
(Afbeelding Credit: Apple) De iCloud-service van Apple is een van de Beste cloud-opslag Producten rond..
Als je ooit wenste dat je de effecten van een traditioneel kon repliceren collage maker in uw Website-lay-..
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..
Introductie van effecten op tekst en typografie kan een geheel nieuw perspectief toevoegen aan de gebruikerservaring ..
Mis niet Vertex 2018 , ons debuutevenement voor de CG-gemeenschap. Verpakt met inspireren..
De HTML & LT; CANVAS & GT; element is een krachtige oplossing voor het maken van pixel-gebaseerde grafische afbeeldingen ..
Pagina 1 van 2: Maak een laag polybehang in C4D: Stappen 01-06 Maak een l..
Amazon's nieuwe game-engine, Timmerhoutwerf , is vrij en geweldig voor iedereen met een ontluikende interesse in g..