Sviluppare software in maniera collaborativa — GitLab: un’alternativa valida a github

Giuseppe Toto
Forgiatore di materia virtuale
2 min readAug 28, 2013

--

Cosa è un sistema di controllo di versioni ? e perchè dovresti usarlo ?
Il controllo di versione è un sistema che registra i cambiamenti ad un file o ad una serie di file nel tempo, così da poter richiamare una versione specifica successivamente. Ad esempio si possono prendere file del codice sorgente di un software per controllarne la versione, anche se in realtà si può fare con quasi ogni tipo di file sul computer. Esistono diversi sistemi di controllo di versioni tra cui Git. Immaginate ad esempio un team di sviluppatori che lavorano in parallelo sullo stesso progetto. Immaginate due sviluppatori che lavorano su un file che contiene una Classe. Git in sostanza riesce a fondere (merge) le modifiche effettuate su uno stesso file e ad aiutarvi a risolvere eventuali conflitti tra le modifiche.

Se sei un grafico o un webdesigner e vuoi tenere tutte le versioni di un’immagine o di un layout (e sicuramente lo vorrai fare), un Version Control System (VCS) è una cosa saggia da usare. Ti permette di ripristinare i file ad uno stato precedente, ripristinare l’intero progetto ad uno stato precedente, comparare i cambiamenti nel tempo, vedere chi ha modificato cosa che può aver causato un problema, chi ha introdotto un problema e quando, e altro ancora. Usare un VCS, in generale, significa che se si fanno dei pasticci o si perdono dei file, si possono facilmente ripristinare. In aggiunta, si ottiene tutto questo con un piccolo dispendio di risorse.

Se non avete familiarità con git vi consiglio di leggere questo libro (tradotto in italiano) : http://git-scm.com/book/it

Dove posso creare un repository?

Esistono diverse soluzioni (gratis e non). Quella che vi segnalo oggi è gitlab . A differenza di github vi permette di creare repository privati (con qualche limite). Gitlab inoltre ha una componente tutta “social”. Permette di gestire le “issue”, i commenti, gli allegati dei documenti extra e altro ancora. Inoltre gitlab ha una filosofia leggermente diversa. Ovvero quando fate il push sul repository remoto non andrete a sovrascrivere direttamente il master ma farete una “merge request” in cui sarà l’owner a gestire la “fusione” finale. In sostanza ogni collaboratore lavora su un proprio “branch” (ramo) e quando siete pronti a condividere il lavoro che avete svolto con l’intero team, farete una richiesta di “merge”. L’owner si occuperà di accettare la vostra richiesta e risolvere eventuali conflitti. Questo permette di avere un maggiore controllo e di evitare possibili rischi.

Potete provare una demo direttamente da qui prima di registrarvi: http://demo.gitlab.com/users/sign_in

Per chi invece possiede un virtual host server potete pensare di installarvi il server git direttamente sulla vostra macchina. In questo modo non avrete nessun tipo di limite. Qui trovate la guida per l’istallazione. GitLab è open source: https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

Un’altra alternativa ancora (senza però la componente social e con il limite di 5 collaboratori a progetto) è www.bitbucket.org

Prima di concludere l’articolo, se siete in cerca di un virtual private server unmanged (cioè gestito autonomamente ) vi consiglio l’offerta che trovate su www.servage.net (circa 150 euro l’anno).

Riferimenti:

--

--