2011-02-28 13 views
6

La mia squadra consiste letteralmente solo io e una o due persone. Io lavoro principalmente su progetti di hobby e sul mio sito web e scrivo circa 1000 righe di codice a settimana.Scegliere GIT o SVN per una squadra molto piccola

Voglio iniziare a entrare nei sistemi di controllo di versione ma poiché la maggior parte dei miei progetti sono stati elaborati da me stesso, non ho visto molto. Recentemente ho registrato un account GITHub e devo dire che mi piace, e penso che sia un po 'più facile da usare rispetto a SVN (non ho avuto esperienza in SVN oltre al download di repository).

Il mio unico requisito è che devo essere in grado di avere un frontend web per i miei repository (come quello su GITHub). Niente di speciale, ma devo essere in grado di vedere i file presenti nel progetto e le modifiche apportate a file specifici.

A meno che i motivi siano eccezionali, non ho una preferenza per GIT o SVN, oltre al front-end web. Prendendo le informazioni che ho fornito, quale sarebbe meglio per me?

risposta

8

Se inizi a utilizzare uno di questi ora, sicuramente vai con Git! Ho usato Subversion per alcuni anni prima di iniziare a usare Git (e Mercurial) l'anno scorso.Da allora ho cambiato tutti i repository di Subversion su Git o Mercurial. Non vuoi tornare indietro!

Il motivo che uso Mercurial per alcuni progetti è bitbucket.org, che permette di avere archivi privati ​​gratuitamente (Aggiornamento: ora anche contro termine Git). Github.com non ti dà repository privati, ma non lo ho mai provato da gitorious.org.

Ci sono anche grandi nativo interfacce utente là fuori per entrambi, soprattutto per Mac questi sono Murky e GitX (Update, meglio ancora SourceTree (Mac App Store) per Git e Mercurial o GitHub propria Mac app), ci sono quelli simili per Linux e Windows suppongo.

Per qualsiasi codice, andare avanti e utilizzare Git. È sempre bello essere in grado di tornare a una versione precedente, e una volta che hai capito come funziona Git ti piacerà.

+0

Ho intenzione di fare una nuova domanda chiedendo a quale Front End Web dovrei andare. –

2

Bene, si deve considerare che il supporto git al di fuori di Linux è piuttosto approssimativo, anche se sembra essere tecnicamente superiore a SVN.

Inoltre, i tuoi progetti sono Open Source? GitHub non è gratuito per progetti closed-source.

+0

Alcuni sono open source, altri no. Pertanto, ho iniziato a guardare oltre GitHub per la vera ragione. –

+0

Ho usato Git su Windows (e OS X) per un po 'senza problemi, quindi non direi che c'è un problema nell'usarlo su sistemi non Linux. –

6

Git e SVN sono tipi di animali molto diversi: Subversion ha un repository centralizzato, mentre Git è un sistema distribuito. Molti sostenitori di entrambi i tipi di sistema hanno cose cattive da dire sull'altro.

Penso che troverete che per le vostre esigenze entrambi offrono tutte le funzionalità necessarie e altro ancora. Dal momento che non sei ancora indottrinato in nessuno dei paradigmi del controllo del codice sorgente, scegli quello che preferisci. Subversion è un sistema più vecchio e più maturo e ha strumenti migliori, ma a mio avviso i sistemi di controllo sorgente sono fatti per essere utilizzati dalla riga di comando comunque :)

Se si è disposti a concedere in licenza il software con una licenza open source, Github è un ottimo posto per condividere il tuo codice, però, e la comunità è vivace. Potresti fare peggio di ospitare il tuo codice lì.

4

Io personalmente uso Google Code e uso SVN. Ma il motivo è perché io uso Visual Studio e Windows. AnkhSVN e tortoisesvn funzionano molto bene con SVN su Windows e Visual Studio.

Per quanto riguarda GIT, se si sta lavorando in un ambiente Linux, GIT è integrato e funziona molto bene. GIT su Windows (IMHO) è un po 'rozzo rispetto a SVN, ma su Linux, GIT è il modo migliore per andare.

In breve:

Linux = GIT di Windows = SVN ma in ogni modo non avrete problemi per i piccoli progetti

+1

Consiglierei git tramite cygwin su Windows. Linux = Git di sicuro! – RDL

+1

+1 lol, cygwin è il LinuxIntermediateDriver per Windows. Penso che sia l'unico modo per far funzionare GIT su Windows. Dovevo usare un GIT per un progetto scolastico ed era meno doloroso che tirare i denti. Ho finito per installare tortoiseGIT che funziona sopra un runtime WinGIT che ha eseguito overtop cygwin. Ma SVN ha strumenti naturali per Windows. Quindi, se Windows, vai con SVN –

+1

WinGIT può essere trovato qui: http://www.wingit.asn.au/. msysgit e TortoiseGit funzionano bene! – eckes

6

Martin Fowler ha scritto un bell'articolo a confronto Git, Mercurial e Subversion qui - http://martinfowler.com/bliki/VersionControlTools.html. Discute i vantaggi e gli svantaggi di un VCS centralizzato e distribuito.

Penso che dal tuo punto di vista, se sei soddisfatto del github come front-end, e anche degli strumenti di collaborazione aggiuntivi che fornisce, quindi segui questo.