2009-06-30 9 views
5

Sono una matricola del college che desidera imparare bene un sistema di controllo della versione. Attualmente sto guardando Subversion, Perforce e Surround SCM.Controllo della versione di apprendimento per una matricola del college

Integrerei il sistema con Eclipse, su una piattaforma Linux. Il codice coinvolto sarebbe principalmente C++, Java e LaTeX (che userò anche Eclipse).

Probabilmente sarò l'unico utente, ma il vantaggio di SVN è che è open source, mentre gli altri due sono proprietari. Ho sentito molte buone testimonianze su TortiseSVN, ma dal momento che sto usando Linux, mi mancherò.

EDIT: Grazie per tutte le risposte. Naturalmente, sono aperto anche ad altri sistemi di controllo delle versioni. Verificherò Git e Mercurial.

risposta

8

Se stai imparando i sistemi di controllo di versione, faresti sicuramente bene a considerare uno dei più recenti sistemi di controllo di versione "distribuiti" come Git o Mercurial. Limitando il tuo campo di applicazione alla precedente generazione di strumenti come hai detto, ti perderai ciò che (alcune) persone usano davvero oggi.

Per l'apprendimento di un sistema, probabilmente non consiglierei di scegliere un'offerta commerciale. Otterrete un supporto e documentazione di gran lunga migliori, gratuitamente, con una soluzione open source.

1

Se stai per essere l'unico su un progetto, sicuramente dovresti dare un'occhiata a SVN. Ottieni Subclipse, un plugin Eclipse per Subversion e ti abitui. Quindi, passa ad altri sistemi di controllo delle versioni quando ti senti a tuo agio.

5

Se queste sono le tue uniche opzioni, sicuramente SVN. Questo è quello (da quella lista) che le persone reali usano in natura.

Onestamente, però, impara un DVCS. Git, Mercurial, darcs, uno di loro.

1

Mi piacerebbe secondo (o terzo) quelli che suggerivano Git o Mercurial (o Bazaar). I sistemi di controllo delle versioni distribuiti non sono adatti solo per i progetti con più contributori; Io uso Git per tutti i progetti che inizio, anche se sono solo buttati via. Fondamentalmente, la tua cartella di sviluppo è il tuo repository - È portatile, ed è facile aggiungere più contributori e passare a un flusso di lavoro centralizzato più tradizionale in seguito.

Raccomando Git soprattutto perché ha una curva di apprendimento piuttosto ripida, ma mi ha insegnato molto sulla gestione dei progetti, il controllo delle revisioni, come unire e patch dei file, come leggere l'output 'diff', ecc. Ti consente davvero di ottenere informazioni dettagliate sul controllo della versione.

1

SVN è molto facile da imparare. Per quelle persone che usano Windows, la versione GUI è fantastica.

Anche se si sta usando Linux, vorrei ancora suggerisco imparando perché è ampiamente utilizzato in luoghi come Google Code, Python, Wordpress, ecc ...

0

Bazaar è assolutamente impressionante per una sola persona, sviluppo senza server. Sono necessari cinque minuti per l'impostazione e funziona immediatamente. Ha il potere di grandi VCS ... ma è abbastanza facile da usare da solo.

Ho sentito che Git e Mercurial sono proprio sulla stessa linea ...ma ho usato = solo Bzr.

0

Consiglierei Subversion, semplicemente per la sua pervasività nei progetti open source. Ci sono sicuramente molte opportunità per usare la tua conoscenza di Subversion nei progetti open source, e se lo fai, imparerai molto sulla codifica, lavorando come una squadra, e sull'uso corretto di un VCS in una squadra (che è metà di imparare a usare un VCS, ed è la parte difficile perché non si può imparare molto bene da soli). Meno progetti open source utilizzano VCS proprietari, il che significa che avrete meno opportunità di usarli nel mondo reale a meno che non lavoriate specificamente con gli amici o come lavoro. Non ho usato gli altri due che hai menzionato, ma non ho lamentele riguardo a Subversion, è abbastanza semplice da usare.

Vorrei anche raccomandare un VCS distribuito, come git. Con un VCS distribuito, poiché ogni partecipante a un progetto dispone di una copia completa del repository di origine e ha il controllo completo sulla propria copia, significa che è stata data maggiore flessibilità all'utilizzo delle funzionalità VCS. Scoprirai che hai la libertà di impegnarti tutte le volte che vuoi e crea nuovi rami quando vuoi, il che è fantastico quando apporti modifiche al codice e vuoi la possibilità di tornare a una versione precedente se necessario . Un VCS distribuito ti consente di utilizzare il VCS come uno strumento per aiutare la tua codifica, piuttosto che semplicemente come un modo per archiviare e condividere il tuo codice con gli altri. È anche molto facile da configurare un nuovo repository in un VCS distribuito. Con git basta eseguire git init e verrà impostato il controllo della versione nella directory corrente. Quanto è facile?

Problemi correlati