Tenzij u een eenpersoonswebshop zonder team bent om mee samen te werken, heeft u de frustratie ervaren die gepaard gaat met het delen van bestanden. Hoe hard je ook probeert, wanneer meerdere mensen aan een enkel project werken zonder een versiecontrolesysteem, worden de zaken chaotisch .
Als u met ontwikkelaars werkt aan de buildout en implementatie van websites, kan de combinatie van front-end templates en back-end-functionaliteit een eng zwart gat zijn.
Problemen zoals overschrijvingen, verloren bestanden en het al te vaak voorkomende fenomeen 'werken aan een eerdere versie' duiken voortdurend op . En wanneer back-endfunctionaliteit in uw sjablonen is geplaatst, bent u doodsbang om ze aan te raken uit angst om iets te breken dat een ontwikkelaar veel tijd aan het werk doorbracht.
Bovendien, zelfs als je een gemeenschappelijke repository hebt die iedereen aan het uitdagen is, is ten minste één lid van je team vergeten de nieuwste bestanden te pakken en staat op het punt de dingen op te blazen met hun nieuwste toevoegingen.
In dit artikel geef ik je een korte bespreking van Git, een uitstekend versiecontrolesysteem .
Versiebeheer (ook bekend als Revision Control of Source Control Management ) is een prima manier om het probleem met het delen van bestanden op te lossen.
Het basisconcept is dit: er is één hoofdrepository voor alle projectbestanden . Teamleden controleren bestanden, brengen wijzigingen aan en controleren ze vervolgens opnieuw (of verbinden ze). Het Version Control System (VCS) geeft automatisch aan wie de bestanden heeft gewijzigd, wanneer deze werden gewijzigd en hoe dan ook was deze nieuw of anders.
Het vraagt je ook om een kleine notitie te schrijven over de verandering zodat iedereen in het project in een oogopslag weet wat je hebt gedaan en waarom. Elk bestand heeft dan een revisiegeschiedenis, zodat u gemakkelijk terug kunt gaan naar een vorige versie van een bestand als er iets vreselijk mis gaat.
Met een goede VCS kunt u ook wijzigingen in hetzelfde bestand samenvoegen . Als u en een andere persoon tegelijkertijd op hetzelfde bestand werken en tegelijkertijd deze bestanden terugsturen naar de hoofdrepository, voegt het systeem beide sets wijzigingen samen om een nieuw en volledig bijgewerkt bestand te maken. Als er tijdens de samenvoeging conflicten optreden, worden deze voor u gemarkeerd.
Waarschijnlijk gebruikt u momenteel een zeer primitieve VCS om uw bestanden recht te houden. Als je een ontwerper bent, ziet het er ongeveer zo uit:
Dit werkt goed genoeg voor PSD's en andere grote binaire bestanden, die zich niet echt lenen voor VCS. Maar er is een veel betere manier om het te doen wanneer u de broncode voor een website beheert.
Zelfs als u niet met een team werkt, kan versiebeheer een redder in nood zijn . Het maken van een back-up van bestanden is een van de gemakkelijkste dingen die u kunt doen om uzelf te redden van het verlies van uw werk of om opnieuw te beginnen.
Het idee van een VCS lijkt in eerste instantie ontmoedigend, vooral omdat de meeste documentatie is geschreven door en voor ontwikkelaars . Maar zodra u de stap zet om het in uw workflow op te nemen, zult u merken dat het lang niet zo moeilijk is als het eruit ziet.
OK, dus nu kun je zien waarom een versiebeheersysteem een must-have is voor je webteam. Als je een beetje Googelt, zul je zien dat er nogal wat opties zijn, zoals SVN, Mercurial, CVS, Bazaar en Git. Elk van hen kan een goede oplossing zijn voor uw behoeften en ik moedig u aan om wat onderzoek te doen voordat u een VCS selecteert. In dit artikel ga ik focussen op Git , degene die ik dagelijks gebruik. Het is een "rijzende ster" die aan populariteit heeft gewonnen dankzij een sterke Linux-fanbase, GitHub en de rails gemeenschap.
Git is een gratis open-source versiecontrolesysteem dat oorspronkelijk is gemaakt door Linus Torvalds voor Linux kernalontwikkeling. Linus is een erg slimme vent; wanneer hij op weg is om een probleem op te lossen, rommelt hij niet rond. Een van de grote onderscheidende factoren van Git is dat het in tegenstelling tot SVN en CVS een is gedistribueerd versiebeheersysteem . Dit betekent dat elke gebruiker een volledige kopie van de repositorygegevens heeft die lokaal op zijn computer zijn opgeslagen. Wat is daar zo geweldig aan? Een paar dingen:
Git heeft een iets moeilijkere leercurve dan SVN , maar de afweging is de moeite waard. Bedenk eens hoe onder de indruk uw ontwikkelaarsvrienden zullen zijn wanneer u hen vertelt dat u de nieuwe hotness gebruikt die Git is! In alle ernst denk ik niet dat de leercurve zo zwaar is. SVN was in het begin even verwarrend voor mij, en ik kwam meer dagelijkse problemen tegen bij het gebruik ervan.
Git installeren is niet leuk en games. Ik had het geluk dat een deskundige ontwikkelaar bereid was om te helpen, maar er zijn genoeg bronnen online om je er doorheen te helpen. Het zal worden uitgevoerd op een pc, Mac of Linux-box, hoewel de installatie voor Linux en OSX aanzienlijk eenvoudiger is dan voor Windows.
Je kunt de nieuwste versie van Git downloaden hier Zodra je de bestanden hebt, probeer dit Snelgids om u op weg te helpen met het installatieproces. Voor Windows-gebruikers stap voor stap visuele gids zou nuttig moeten zijn. Mac-gebruikers, probeer deze handleiding gevonden op GitHub
Als je Git eenmaal hebt geïnstalleerd, kun je je repository maken . Om een bestaande map om te zetten in een Git-repository, gebruikt u de volgende opdrachten in uw terminal- of opdrachtpromptvenster:
cd path/to/projectgit initgit add .git commit
Wat je Git vertelt om te doen is:
Als je de opdrachtregel haat, kun je dit ook doen met de Git GUI . Het is niet het mooiste dat je ooit hebt gezien, maar het is er als je het nodig hebt.
Ik gebruik Git momenteel op een Mac om te werken aan een webtoepassing met meerdere webontwikkelaars. We hebben een "hoofd" -versie van de code waarnaar we onze bestanden pushen en we voeren elk een volledige kopie lokaal uit. Op een willekeurige dag gaat mijn workflow ongeveer als volgt:
Al deze acties kunnen eenvoudig worden gedaan via het Terminal-venster , maar ik ben een visueel soort meisje. Om die reden gebruik ik GitX , een Git gui voor OSX , om mijn commits te maken. Ik push en trek nog steeds door Terminal, maar GitX maakt het gemakkelijk voor mij om mijn commits te organiseren en mijn hoofd rond te winden rond wat ik aan het doen ben.
Bovenaan wordt aangegeven welke wijzigingen in de bestanden zijn aangebracht. Linksonder staat je lijst met niet- gestagge wijzigingen . Om ze te binden, sleept u een of meer bestanden naar het gedeelte "Gefaseerde wijzigingen" aan de rechterkant, typt u uw commit-bericht in en drukt u op de knop Vastleggen.
Als ik naar de structuurweergave ga, kan ik zien wat er naar de repository is gepusht. Als mijn bestanden niet up-to-date waren met de hoofdbestanden, zouden de groene en blauwe tags bovenaan niet meer synchroon lopen. GitNub biedt een vergelijkbare interface in Mac-stijl.
Er is ook een geweldig TextMate-bundel beschikbaar. Hiermee kun je pushen, trekken, vastleggen en meer zonder TextMate te verlaten. Het is uiterst efficiënt.
Bovenstaand: Git Cheat Sheet van Zack Rusin
Ik ben nog steeds een newbie voor Git, dus ik heb alleen de oppervlakte bekrast over wat je ermee kunt doen, maar ik heb zeker het licht gezien als het gaat om versiebeheer, en ik ben blij dat ik eindelijk aan de slag ben gegaan bandwagon.
Bekijk deze geweldige bronnen voor meer informatie over het gebruik van Git:
Git leren kennen
Wikipedia-vermelding op Git
Waarom Git beter is dan X
TED-talk van Linus Torvald op Git
A Tour of Git: The Basics
Git Ready
37 Signalen Git-bronnen
Git For The Lazy
De gebruikershandleiding van Git
Een overvloed aan Git-tips
Git Cheat Sheet van GitHub
Git Magic
Versiebeheer voor ontwerpers
Een visuele gids voor versiebeheer
Wikipedia-vermelding op Revision Control
Een gedistribueerd versiecontrolesysteem kiezen
Ik vraag me af wat deze knop doet (een lijst apart)
Exclusief geschreven voor WDD door Mindy Wagner. Ze is een webdesigner bij Viget Labs en werkt al meer dan 8 jaar in print- en webdesign. Ze heeft een diploma in elektronische mediakunst en communicatie van het Rensselaer Polytechnic Institute.
Gebruikt u Git of andere software voor versiebeheer? Deel alstublieft uw ervaring met ons!