Utilizzo del controllo versione per lo sviluppo domestico?


138

Fino ad ora ho sviluppato i miei progetti personali e scolastici a casa senza utilizzare alcun tipo di software di controllo delle revisioni per gestire le mie modifiche e quant'altro.

La mia domanda è: quanto è possibile utilizzare un'applicazione di controllo versione (come TortoiseSVN ) per progetti personali che faccio per me stesso (e persino progetti scolastici)?

Vale la pena la seccatura di fare il check-in, eseguire modifiche e tutta quella routine, solo per i 'progetti domestici' invece di fare solo backup manuali?

Collegamenti :


2
Utilizzare il controllo del codice sorgente è molto più semplice che eseguire backup manuali! Forse è più facile imparare a fare backup manuali piuttosto che imparare a usare il controllo del codice sorgente.
yfeldblum,

1
Posso consigliare VisualSVN, molto facile da usare. E il loro server di sovversione è gratuito :) ( visualsvn.com )
Svish,

Usa invece un server ospitato, ottieni zero manutenzione + backup. Io uso Unfuddle: stackoverflow.com/questions/430742/...
ripper234

Risposte:


191

Completamente.

Crediti anche su http://blogs.embarcadero.com/nickhodges/2010/04/23/39416 :

  • A volte facciamo errori stupidi. Avere una rete di sicurezza di controllo del codice sorgente è un must.
  • Contrassegna importanti traguardi. Anche nello sviluppo domestico, potresti voler contrassegnare un set di file e revisioni come una versione software specifica.
  • Ti alleni per la tua vita professionale. Mettendoti in testa la metodologia di lavoro associata all'utilizzo del controllo del codice sorgente ti prepara professionalmente.
  • Efficienza di stoccaggio. Gli attuali sistemi di controllo del codice sorgente memorizzano le revisioni come una differenza delta rispetto alla revisione precedente. Ciò significa che è più efficiente del disco in quanto l'intero file non viene archiviato ma solo le differenze.
  • Hai la cronologia di tutto l'albero della tua fonte. Puoi vedere rapidamente cosa è stato modificato e quando è stato modificato. Confronta i file di diverse revisioni e uniscili facilmente.
  • Puoi diramare per sperimentare. Se hai in mente alcuni esperimenti, puoi creare un ramo (una nuova linea di sviluppo indipendente) e testarlo. Alla fine, se sei soddisfatto dei risultati, uniscili a HEAD (linea di sviluppo principale). Ottieni tutto questo gratuitamente senza dover creare una copia e ricevere gli stessi benefici dall'uso del controllo del codice sorgente anche durante la sperimentazione.

13
Solo una cosa da aggiungere: a condizione che il sistema di controllo versione sia su una macchina remota, fornisce un semplice backup online del tuo lavoro.
NotMe

Sono completamente d'accordo. Ogni volta che devi sfruttare una di queste funzionalità, hai già recuperato il costo minore dell'utilizzo del controllo del codice sorgente in primo luogo.
Chris Farmer,

Il punto 4 non si applica a git. git è ottimizzato per unire le prestazioni e la memorizzazione delle differenze non è vantaggiosa per questo obiettivo. al giorno d'oggi si presume che tu abbia abbastanza spazio su disco per il tuo codice sorgente. Comunque tutti gli altri punti sono motivi per usare qualsiasi controllo del codice sorgente e git ovviamente li soddisfa tutti.
SingleNegationElimination,

Ancora una volta raccomando git, specialmente per i punti 2. 5. e 6. git ha un'interfaccia molto bella per taggare, ramificare, unire ecc. E alcuni degli strumenti grafici come qgit o gitk rendono molto facile vedere come tutti i tuoi i rami si incastrano insieme .. è anche un gioco da ragazzi trasformare la tua directory di lavoro attuale (senza recensioni) in una directory git con 3 comandi: git init, git add., git commit
David Claridge

Se il tuo progetto personale è abbastanza grande da rendere importante il punto 4 (efficienza di archiviazione), hai sicuramente bisogno del controllo del codice sorgente!
Tikhon Jelvis,

31

Ne vale assolutamente la pena.

Si noti che non è necessario configurare nemmeno un server SVN completo. È possibile semplicemente creare un repository nel file system locale e connettersi con la sintassi file: // URL. Ciò significa che non è necessario passare attraverso la seccatura di configurare un demone SVN (che è probabilmente eccessivo per un singolo progetto utente)

Potresti anche esaminare opzioni più leggere come git che mantengono localmente tutti i file di lavoro senza dover creare un repository separato. Git ti offre alcune altre opzioni su come impostare il controllo del codice sorgente anche in pista.


1
Di recente ho provato git perché è stato utilizzato da un progetto che stavo seguendo. Sono passato immediatamente a git per i miei progetti personali e di lavoro non appena ho visto quanto è semplice e veloce . Altamente raccomandato.
Dave Sherohman,

8

L'uso del controllo del codice sorgente è utile anche a fini di backup. Se esegui sempre il check in di tutto, puoi eseguire il backup di tutti i tuoi progetti di codice sorgente eseguendo il backup di tutti i tuoi repository. Se hai più macchine, non devi preoccuparti di dove si trovi effettivamente l'ultima versione del tuo codice: è sul server del repository.


6

Ho tenuto la tesi di tutto il mio master sotto il controllo del codice sorgente - sia il codice che la tesi stessa - quindi sono un forte sostenitore di questo, e non solo del codice.

Per i singoli progetti, il vantaggio principale è la libertà di cambiare le cose e sperimentare, sapendo che puoi sempre tornare alla versione precedente se non funziona. E ti dà backup impliciti del tuo lavoro (assicurati solo che il tuo repository svn sia almeno su un disco rigido diverso rispetto al tuo lavoro principale)


5

Assolutamente, vale la pena farlo. Ti dà la possibilità di provare i refactoring selvaggi e folli, e poi di uscirne facilmente se non funzionano. Stabilisce anche buone abitudini per se / quando lavori in modo più collaborativo con un gruppo.

Con Subversion (almeno) non è nemmeno necessario disporre di un "server": una semplice directory può fungere da repository se si accede ad esso con URL di tipo "file: //". C'è anche un libro gratuito che contiene praticamente tutto ciò che devi sapere per iniziare:

http://svnbook.red-bean.com/nightly/en/index.html


4

Trovo che sia estremamente utile avere un server SVN configurato perché mi ritrovo a tornare indietro attraverso le revisioni e altri progetti "buttati via" perché mi sono ricordato di una funzione o di un modo di fare qualcosa che potrei usare ora. Avendo il server SVN, so che il codice è archiviato a casa e posso recuperarlo in seguito.


4

Il controllo delle revisioni è eccezionale perché ti consente di essere più sperimentale, sapendo che se i tuoi esperimenti falliscono, hai qualcosa su cui ripiegare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.