A meno che tu non sia un negozio web di una sola persona con nessuna squadra con cui collaborare, hai sperimentato la frustrazione che accompagna il file sharing. Non importa quanto ci provi, quando più persone stanno lavorando su un singolo progetto senza un sistema di controllo della versione in atto le cose diventano caotiche .
Se lavori con gli sviluppatori sul buildout e sull'implementazione di siti Web, l'unione tra modelli front-end e funzionalità back-end può essere un buco nero spaventoso.
Problemi come sovrascritture, file persi e il fin troppo comune fenomeno di "elaborazione di una versione precedente" si verificano costantemente . E una volta che la funzionalità di back-end è stata inserita nei tuoi modelli, sei terrorizzato di toccarli per paura di rompere qualcosa che uno sviluppatore ha impiegato molto tempo per iniziare a lavorare.
Inoltre, anche se si dispone di un repository comune che tutti traggono vantaggio dalle probabilità, almeno un membro del proprio team ha dimenticato di prendere gli ultimi file e sta per saltare in aria le ultime novità.
In questo articolo, ti darò una rapida recensione di Git, un eccellente sistema di controllo della versione .
Controllo versione (noto anche come Revision Control o Source Control Management ) è un ottimo modo per risolvere il problema di condivisione dei file.
Il concetto di base è questo: esiste un repository principale per tutti i file di progetto . I membri del team controllano i file, apportano le modifiche e quindi li ricontrollano (o li impegnano ). Il VCS (Version Control System) rileva automaticamente chi ha cambiato i file, quando sono stati modificati, e cosa ne è stato di nuovo o di diverso.
Ti chiede anche di scrivere una piccola nota sul cambiamento in modo che tutti i partecipanti al progetto sappiano a colpo d'occhio cosa hai fatto e perché. Ogni file avrà quindi una cronologia di revisione in modo da poter facilmente tornare a una versione precedente di qualsiasi file se qualcosa va terribilmente male.
Un buon VCS ti consente anche di unire le modifiche allo stesso file . Se tu e un'altra persona lavorate localmente sullo stesso file nello stesso momento, quando reinserite questi file nel repository principale il sistema unirà entrambi i gruppi di modifiche per creare un file nuovo e completamente aggiornato. Se sorgono conflitti durante l'unione, li evidenzierà per te.
Probabilmente stai usando un VCS molto rozzo in questo momento per mantenere i tuoi file dritti. Se sei un designer, sembra qualcosa del genere:
Designer Version Control - FAIL
Funziona abbastanza bene per PSD e altri file binari di grandi dimensioni, che in realtà non si prestano a VCS. Ma c'è un modo molto migliore per farlo quando gestisci il codice sorgente per un sito web.
Anche se non lavori con una squadra, il controllo della versione può essere un vero toccasana . Il backup dei file è una delle cose più facili che puoi fare per evitare di perdere il lavoro o dover ricominciare da capo.
L'idea di un VCS sembra inizialmente scoraggiante, soprattutto perché la maggior parte della documentazione è scritta da e per gli sviluppatori . Ma una volta presa la decisione di incorporarla nel tuo flusso di lavoro, scoprirai che non è così difficile come sembra.
OK, ora puoi vedere perché un sistema di controllo delle versioni è un must per il tuo team web. Se fai un po 'googling vedrai che ci sono diverse opzioni là fuori tra cui SVN, Mercurial, CVS, Bazaar e Git. Ognuno di loro potrebbe essere una buona soluzione per le vostre esigenze e vi incoraggio a fare qualche ricerca prima di selezionare un VCS. In questo articolo mi concentrerò su Git , quello che uso quotidianamente. È una "stella nascente" che ha guadagnato popolarità grazie a una forte base di fan di Linux, GitHub e il Rails Comunità.
Git è un sistema di controllo della versione open source creato originariamente da Linus Torvalds per lo sviluppo del kernel di Linux. Linus è un ragazzo molto intelligente; quando decide di risolvere un problema, non si scherza. Uno dei grandi differenziatori di Git è che a differenza di SVN e CVS è un sistema di controllo della versione distribuito . Ciò significa che ogni utente ha una copia completa dei dati dell'archivio memorizzati localmente sul proprio computer. Cosa c'è di così bello in questo? Poche cose:
Git ha una curva di apprendimento leggermente più dura di SVN , ma ne vale la pena. Pensa solo a quanto saranno impressionati i tuoi amici sviluppatori quando dirai loro che stai usando la nuova hotness che è Git! In tutta serietà, non credo che la curva di apprendimento sia così ripida. All'inizio, SVN mi ha parimenti disorientato, e durante l'utilizzo mi sono imbattuto in più problemi quotidiani.
Installare Git non è divertente e giochi. Sono stato fortunato ad avere uno sviluppatore esperto disposto ad aiutare, ma ci sono molte risorse online per aiutarti. Funzionerà su PC, Mac o Linux, sebbene l'installazione per Linux e OSX sia considerevolmente più semplice rispetto a Windows.
Puoi scaricare l'ultima versione di Git Qui Una volta che hai i file, prova questo guida veloce per iniziare con il processo di installazione. Per gli utenti Windows, questo passo dopo passo guida visiva dovrebbe essere utile Utenti Mac, prova questa guida GitHub
Una volta installato Git, puoi creare il tuo repository . Per trasformare una cartella esistente in un repository Git, utilizzare i seguenti comandi nella finestra del terminale o del prompt dei comandi:
cd path/to/projectgit initgit add .git commit
Cosa stai dicendo Git to do è:
Se odi la riga di comando puoi farlo anche usando la GUI di Git . Non è la cosa più carina che tu abbia mai visto, ma è lì se ne hai bisogno.
Attualmente sto usando Git su un Mac per lavorare su un'applicazione web con più sviluppatori web. Abbiamo una versione "master" del codice su cui inseriamo i nostri file, e ognuno di noi esegue una copia locale localmente. In un dato giorno, il mio flusso di lavoro è simile a questo:
Tutte queste azioni possono essere fatte facilmente attraverso la finestra del terminale , ma io sono un tipo visivo di ragazza. Per quel motivo, io uso GitX , un guido Git per OSX , per fare i miei commit. Continuo a spingere e tirare il terminale, ma GitX mi rende facile organizzare i miei commit e avvolgere la mia mente su quello che sto facendo.
Nella parte superiore, evidenzia quali modifiche sono state apportate ai file. In basso a sinistra è la tua lista di modifiche non modificate . Per eseguirne il commit, trascini uno o più file nell'area "Modifiche sistematiche" a destra, digita il tuo messaggio di commit e premi il pulsante Conferma.
Se sfoglio la visualizzazione ad albero, posso vedere cosa è stato inviato al repository. Se i miei file non erano aggiornati con i file master, i tag verde e blu in alto non sarebbero sincronizzati. GitNub offre un'interfaccia simile allo stile Mac.
C'è anche un grande Bundle TextMate a disposizione. Con esso, puoi spingere, tirare, commettere e altro senza mai lasciare TextMate. È estremamente efficiente.
Sopra: Git Cheat Sheet di Zack Rusin
Sono ancora un principiante di Git me stesso, quindi ho solo scalfito la superficie di ciò che si può fare con esso, ma ho sicuramente visto la luce quando si tratta di controllo di versione, e sono felice di aver finalmente ottenuto carrozzone.
Per ulteriori informazioni sull'utilizzo di Git, consulta queste fantastiche risorse:
Conoscere Git
Voce di Wikipedia su Git
Perché Git è meglio di X
Il TED talk di Linus Torvald su Git
A Tour of Git: The Basics
Git Ready
37 Segnali Git Resources
Git For The Lazy
The Git User Manual
Un Gaggle of Git Tips
GitHub's Git Cheat Sheet
Git Magic
Controllo della versione per i progettisti
Una guida visiva al controllo della versione
Voce di Wikipedia su Revision Control
Scelta di un sistema di controllo della versione distribuito
Mi chiedo cosa faccia questo pulsante (un elenco a parte)
Scritto esclusivamente per WDD da Mindy Wagner. È web designer presso Viget Labs e ha lavorato sia in stampa che in web design per oltre 8 anni. Ha una laurea in Arte e comunicazione multimediale elettronica presso il Rensselaer Polytechnic Institute.
Usi Git o altri software per il controllo della versione? per favore condividi le tue esperienze con noi!