it-swarm.it

Controllo della versione per sviluppatori indipendenti?

Pensi che valga la pena usare il controllo versione se sei uno sviluppatore indipendente e, in caso affermativo, perché? Conservi il repository sul tuo computer o altrove, dove può fungere da backup?

60
vedosity

Se usi il controllo decentralizzato della fonte (Mercurial o Git o Bazaar o altro), ottieni vantaggi rispetto a SVN/CVS che lo rendono facile, utile e potente da utilizzare nel caso in cui sei un indy:

  1. Impegni a livello locale: la dir del progetto è il tuo repository con cronologia COMPLETA. Quindi non devi avere un server, ti impegni direttamente nel tuo repository e puoi avere più repository nello stesso computer. Usi un laptop che apri a volte per continuare a lavorare sulle tue cose? Grande! Non è necessario configurare un server e, se necessario, in un secondo momento è semplice e basta "spingere" e "estrarre" le modifiche tra i repository.
  2. È fatto per facilitare la sperimentazione: spesso devi avere un'idea su una funzione senza inquinare il codice. Con SVN e CVS puoi già utilizzare un sistema di diramazione e abbandonare il ramo se la funzionalità non è buona come volevi. Ma se vuoi unire la funzionalità con la versione trunk, avrai molte sorprese difficili da risolvere. Git, Mercurial e Bazaar (almeno) rendono le fusioni e le filiali davvero facili. Puoi anche semplicemente duplicare un repository, lavorarci su un po 'di tempo, ancora impegnarlo e ucciderlo o inviare le modifiche nel repository principale se lo desideri.
  3. Flessibilità dell'organizzazione: come indicato in precedenza, poiché hai repository che organizzi di cui hai bisogno, è facile iniziare da soli e consentire ad altre persone di lavorare con te cambiando la tua organizzazione. Nessuna organizzazione è imposta, quindi devi solo configurarlo e voilà. Spesso spingo/estraggo le modifiche tra i miei computer (laptop/desktop/server) e sono ancora solo sui miei sviluppatori. Uso Mercurial e questo mi aiuta a duplicare il mio lavoro, ma anche a lavorare su funzionalità pensate all'esterno sul mio laptop, quindi continuo a lavorare su altre funzionalità sul mio desktop, quindi Invia le modifiche del mio laptop sul mio desktop o server e unisco l'intero desktop + laptop e metterlo (come backup e futuro repository di lavoro di squadra) sul mio server.
  4. Aiuta a impostare i backup: se si imposta un repository centrale (su GitHub se è pubblico o in un repository privato su BitBucket) è possibile scrivere facilmente uno script che verrà eseguito ogni volta che si avvia un computer , quindi passa lo script ai tuoi amici in modo che esegua regolarmente backup automatici del tuo lavoro. È quello che sto facendo, quindi sono sicuro che non sarà facile perdere il lavoro.

Infatti, attualmente, non hai scuse per non utilizzare uno strumento di controllo sorgente per qualsiasi progetto. Perché sono più potenti e flessibili di prima e si adattano alle tue esigenze.

61
Klaim

il controllo del codice sorgente è assolutamente inutile per gli sviluppatori indipendenti, perché come tutti sappiamo:

  • gli sviluppatori indipendenti non commettono mai errori
  • gli sviluppatori indipendenti non escono mai revisioni che non funzionano
  • gli sviluppatori indipendenti non hanno mai più di una versione, quindi non hanno alcuna utilità per i rami
  • gli sviluppatori indipendenti non si preoccupano mai di cosa sono cambiati ieri o la scorsa settimana
  • gli sviluppatori indipendenti non hanno mai avuto bisogno di backup

Chiamami uno "sviluppatore dipendente": i repository Mercurial si clonano facilmente tra desktop, laptop, unità di backup USB e bitbucket.org. Sono diventato dipendente e mi piace così!

34
Steven A. Lowe

Perché no?

Sono uno sviluppatore solista e utilizzo BitBucket e Mercurial per i miei progetti personali. Avere la possibilità di ripristinare e fork il tuo codice è troppo bello per lasciar perdere.

21
Terence Ponce

Trovo valore in esso, personalmente. I miei progetti sono tutti archiviati in repository git (tutti i quali rimango su più macchine in caso di guasto hardware). Le funzioni più utili sono la ramificazione (in modo che io possa eseguire un esperimento che guasta la metà della mia base di codice e non preoccuparmi di far esplodere qualcosa in modo permanente) e ripristinare (che è fondamentalmente semplicemente annullare gli steroidi; nel caso in cui trovassi di aver fatto errore fuori dal normale intervallo di annullamento).

1
Inaimathi

Sì. È molto molto utile Il mio amico Matt Gallagher ha pubblicato questo eccellente articolo proprio su questo argomento pochi giorni fa nel suo blog di sviluppo iOS/MacOS "Cocoa With Love".

L'articolo è incentrato su Mac & Git ma tratta le basi.

Potresti anche essere interessato alle seguenti Domande su StackExchange (e alle loro risposte).

1
orj

Worth ?? Must! Se non usi il controllo del codice sorgente non controlli le tue fonti, e questo è male. Non puoi differire, non puoi ripristinare, non puoi tenere traccia delle modifiche: passerai ore a cercare di scoprire il bug fittizio che hai appena inserito. È meglio averlo su un server di backup, ma puoi anche tu il tuo computer e utilizzare qualsiasi metodo di backup che ritieni appropriato.

1
Assimiz

Usa assolutamente il controllo del codice sorgente. Quindi configurare un server di build e automatizzare i processi di build e test. Attiva le build dai commit di origine del tuo repository centrale. Ho lavorato da solo per tre anni in questo modo ed è meraviglioso.

1
Dave Neeley

Sì.

Anche i singoli sviluppatori devono talvolta vedere lo stato del loro codice da qualche revisione passata. Ed è sempre una buona idea fare il backup di tutto ciò che è importante, e questo vale per tutte le persone.

0
whatsisname