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 - En snabb och smutsig förklaring

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:

dpcwqxg_312gvhkh4s6_b

Designer Version Control - FEL

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.

Fördelar med att använda ett Version Control System inkluderar:

  • Filer kan inte skrivas över
  • Det finns ett gemensamt förråd som innehåller alla de senaste filerna
  • Människor kan arbeta på samma filer samtidigt utan konflikt
  • Låter dig återgå till en äldre version av filen / projektet om det behövs
  • Gör dina utvecklare väldigt nöjda

Ä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.

dpcwqxg_322grqgzjcz_b

Möt Git

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:

    • Allt är lokalt , så du kan arbeta offline
    • Det finns ingen enda misslyckande punkt . Det är inte beroende av en central server som kan krascha och bränna, ta det enda förvaret för ditt projekt med det.
    • Eftersom det inte behöver ständigt kommunicera med en central server kör processerna mycket snabbare

      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

      Komma igång

      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:

      • Initiera denna katalog
      • Lägg till allt i det - alla filer och underkataloger
      • Begå eller lagra alla aktuella ändringar i förvaret

      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.

      En skärmdump av Git GUI

      Ett exempel på Git-arbetsflöde

      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:

      dpcwqxg_323gnhgbwg3_b

      1. Brand upp Terminal . Starta upp min lokala mysql-databas (så programmet som vi bygger kan köras lokalt på min maskin).
      2. Använd Terminal för att kolla de senaste ändringarna genom att använda kommandot "git pull" . Detta ger mig alla ändringar som gjorts av andra lagmedlemmar och kontrolleras i vårt mästerregister.
      3. Öppna projektet i TextMate och gör mina ändringar.
      4. Överför förändringar och lägg till mina anteckningar . Detta förbinder sig bara lokalt. Jag begår ofta, förmodligen tio eller flera gånger om dagen. Detta hjälper till att hålla mig på rätt spår.
      5. Tryck på mina ändringar i mästerförvaret med "git push" . Nu kan andra lagmedlemmar kolla och se mina ändringar. Du borde göra det minst en gång om dagen eller efter några större tillägg.

      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.

      GitX Skärmdump
      Ö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.

      GitX Skärmdump
      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.

      TextMate med Git Bundle installerad

      Läs mer

      Git Cheat Sheet

      Git Cheat Sheet av Zack Rusin

      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:

      Intros Git

      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

      Cheat Sheets / Tips

      37 Signaler Git Resources
      Git For The Lazy
      Git Användarhandbok
      En Gaggle Git Tips
      GitHubs Git Cheat Sheet
      Git Magic

      Intros till Version Control

      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!