Om du inte är en enda webbutik utan något lag att samarbeta med har du upplevt den frustration som följer med fildelningen. Oavsett hur svårt du försöker, när flera personer arbetar på ett enda projekt utan ett versionsstyrningssystem på plats, blir saker kaotiska .
Om du arbetar med utvecklare på byggandet och implementeringen av webbplatser kan sammanslagningen mellan frontmallar och back-end-funktionalitet vara ett läskigt svart hål.
Frågor som skrivs över, förlorade filer och det alltför vanliga "arbetet från en tidigare version" fenomen växer upp hela tiden . Och när en gång funktionalitet har lagts in i dina mallar, blir du rädd för att röra dem för rädsla för att bryta någonting som en utvecklare spenderat mycket tid på att komma till jobbet.
Dessutom, även om du har ett gemensamt förråd som alla drar från odds, har minst en medlem i ditt team glömt att ta tag i de senaste filerna och håller på att blåsa upp saker med de senaste tilläggen.
I den här artikeln ger jag dig en snabb översyn av Git, ett utmärkt versionsstyrningssystem .
Version Control (även känd som Revision Control eller Source Control Management ) är ett bra sätt att lösa fildelningsproblemet.
Grundkonceptet är detta: det finns ett huvudförvar för alla projektfiler . Teammedlemmarna checkar ut filer, gör ändringar och kontrollerar dem sedan (eller begår dem). Version Control System (VCS) noterar automatiskt vem som ändrade filerna, när de ändrats, och vad gällde dem var nya eller annorlunda.
Det ber dig också att skriva en liten anteckning om förändringen så att alla på projektet vet ett ögonblick vad du gjorde och varför. Varje fil kommer då att ha en revisionshistorik så att du enkelt kan gå tillbaka till en tidigare version av en fil om något går hemskt fel.
En bra VCS tillåter dig också att sammanfoga ändringar i samma fil . Om du och en annan person arbetar lokalt på samma fil samtidigt, när du trycker på dessa filer tillbaka till huvudförvaret kommer systemet att sammanfoga båda uppsättningarna för att skapa en ny och helt aktuell fil. Om några konflikter uppstår under sammanslagningen kommer den att markera dem för dig.
Du använder förmodligen en väldigt rå VCS just nu för att hålla dina filer raka. Om du är en formgivare ser det ut som om det här:
Det fungerar bra nog för PSD och andra stora binära filer, som inte riktigt lånar sig till VCS. Men det finns ett mycket bättre sätt att göra när du hanterar källkoden för en webbplats.
Även om du inte arbetar med ett lag, kan versionskontroll vara en livräddare . Att säkerhetskopiera filer är en av de enklaste sakerna du kan göra för att rädda dig från att förlora arbete eller måste börja om.
Idén om en VCS verkar skrämmande först, särskilt eftersom det mesta av dokumentationen är skrivet av och för utvecklare . Men när du gör flytten till att integrera den i ditt arbetsflöde, hittar du det nästan inte så svårt som det ser ut.
OK, så nu kan du se varför ett Version Control System är ett måste för ditt webblag. Om du gör en liten Googling ser du att det finns en hel del alternativ där ute, inklusive SVN, Mercurial, CVS, Bazaar och Git. Någon av dem kan vara en bra lösning för dina behov, och jag uppmuntrar dig att göra lite forskning innan du väljer en VCS. I den här artikeln kommer jag att fokusera på Git , den jag använder dagligen. Det är en "stigande stjärna" som har blivit populär tack vare en stark Linux fanbase, GitHub och den rails gemenskap.
Git är ett gratis versionsprogram för öppen källkod som ursprungligen skapades av Linus Torvalds för Linux-kärnutveckling. Linus är en mycket smart kille; När han bestämmer sig för att lösa ett problem, röra han inte runt. En av Gits stora differentiatorer är att till skillnad från SVN och CVS är det en distribuerat versionsstyrningssystem . Det innebär att varje användare har en fullständig kopia av lagringsdata som lagras lokalt på sin maskin. Vad är så bra med det? Några saker:
Git har en lite hårdare inlärningskurva än SVN , men bytet är värt det. Tänk bara hur imponerad din utvecklare vänner kommer att vara när du berättar för dem att du använder den nya hetan som är Git! I all allvar tror jag inte att inlärningskurvan är allt så brant. SVN var lika förvirrande för mig i början, och jag stötte på fler dagliga problem när jag använde det.
Installera Git är inte kul och spel. Jag hade tur att ha en kunnig utvecklare villig att hjälpa, men det finns massor av resurser på nätet för att få dig igenom det. Den körs på en dator, Mac eller Linux-låda, även om installationen för Linux och OSX är betydligt enklare än för Windows.
Du kan ladda ner den senaste versionen av Git här När du har filerna kan du prova det här snabb guide för att komma igång med installationsprocessen. För Windows-användare, detta steg för steg visuell guide bör vara till hjälp Mac-användare, försök med att hitta den här guiden GitHub
När du har installerat Git kan du skapa ditt förråd . Om du vill konvertera en befintlig mapp till ett Git-arkiv använder du följande kommandon i fönstret Terminal eller Command Prompt:
cd path/to/projectgit initgit add .git commit
Vad du säger Git att göra är:
Om du hatar kommandoraden kan du också göra det med hjälp av Git GUI . Det är inte det vackraste du någonsin sett, men det är där om du behöver det.
Jag använder för närvarande Git på en Mac för att arbeta på en webbapplikation med flera webbutvecklare. Vi har en "master" -version av koden som vi trycker på våra filer till, och vi kör alla en fullständig kopia lokalt. På en viss dag går mitt arbetsflöde något så här:
Alla dessa åtgärder kan göras enkelt via Terminal-fönstret , men jag är en visuell typ av tjej. Därför använder jag GitX , en Git gui för OSX , för att göra mina förpliktelser. Jag trycker fortfarande och drar genom Terminal, men GitX gör det lätt för mig att organisera mina förpliktelser och linda mitt huvud runt vad jag gör.
Överst belyser den vilken förändring som gjordes i filerna. Nedre vänster är din lista över ostegrade ändringar . För att begå dem drar du en eller flera filer till området "Staged Changes" till höger, skriv in ditt commit-meddelande och tryck på Commit-knappen.
Om jag viker till trädvisningen kan jag se vad som har blivit tryckt till förvaret. Om mina filer inte var aktuella med huvudfilerna, skulle de gröna och blåa taggarna i början vara synkroniserade. GitNub erbjuder ett liknande Mac-Style-gränssnitt.
Det finns också en bra TextMate-bunt tillgängliga. Med det kan du trycka, dra, begå och mer utan att någonsin lämna TextMate. Det är extremt effektivt.
Ovan: Zack Rusins Git Cheat Sheet
Jag är fortfarande en nybörjare till Git själv, så jag har bara repat ytan på vad du kan göra med det, men jag har definitivt sett ljuset när det gäller versionskontroll och är glad att jag äntligen kom på tåget.
För att lära dig mer om hur du använder Git, kolla in dessa stora resurser:
Lär känna Git
Wikipedia-posten på Git
Varför Git är bättre än X
Linus Torvalds TED-prat på Git
En rundtur i Git: Grunderna
Git Ready
37 Signaler Git Resources
Git For The Lazy
Git Användarhandbok
En Gaggle Git Tips
GitHubs Git Cheat Sheet
Git Magic
Versionskontroll för designers
En visuell guide till Version Control
Wikipedia-posten på Revision Control
Välja ett distribuerat Version Control System
Jag undrar vad den här knappen gör (en lista åt sidan)
Skriven uteslutande för WDD av Mindy Wagner. Hon är webbdesigner på Viget Labs och har arbetat i både tryck och webbdesign i över 8 år. Hon har en examen i elektronisk media konst och kommunikation från Rensselaer Polytechnic Institute.
Använder du Git eller annan programvara för versionskontroll? Vänligen dela din erfarenhet med oss!