Usi una sorta di controllo della versione quando lavori da solo e con piccoli progetti?


30

Molto spesso sto lavorando a piccoli progetti solo per me stesso. Sto lavorando su una macchina, ma di recente ho pensato di utilizzare un qualche tipo di controllo della versione. Ciò avrebbe alcuni vantaggi come ad esempio:

  • Non devo più occuparmi del backup locale
  • Gli errori possono essere facilmente annullati
  • La storia può essere mantenuta

D'altra parte ha anche alcuni inconvenienti come ad esempio:

  • Risorse aggiuntive richieste
  • Tempo di installazione, abituarsi ad esso, ecc.

Dalla tua esperienza, è una buona cosa usare il controllo di revisione quando lavori da solo?


I miei due centesimi: utilizzo Mercurial e NetBeans e la parte più preziosa del VCS che utilizzo (Mercurial) è la possibilità di apportare modifiche, esaminare le modifiche e cancellarle (commit) (file alla volta o l'intero progetto) a mio piacimento. (NetBeans ha un diff grafico che funziona con Mercurial) Mi aiuta a tenere sotto controllo ciò che ho appena fatto. La nostra azienda ha una storia e un sistema di backup diversi, quindi in genere non lo uso a tale scopo.
Bryan Field,

Risposte:


46

Sì.

Basta un solo errore e ti prenderai a calci per questo. Sei anche in grado di scegliere quale sistema di controllo versione (VCS) viene utilizzato. Se c'è la possibilità che in futuro lavorerai in un team di sviluppo, questo è il momento giusto per offrirti un'esperienza pratica con un VCS. SVN e Git (o Mercurial) sarebbero ottimi punti di partenza e dovrebbero richiedere solo un paio d'ore per cogliere i comandi di base in ogni VCS.

Ora per sfatare quali sono i punti negativi ...

1) Risorse aggiuntive richieste

L' unica risorsa richiesta è lo spazio su disco. Dato che questa è una piccola percentuale (più piccola in Git di X ) del tuo codice totale, non penso che questo sarà un problema. Non costa neanche soldi.

2) Tempo di installazione, abituarsi ad esso, ecc.

Ci vorrà del tempo per impararlo, ma sono solo poche ore per ciascuno di questi (come menzionato sopra). A lungo termine, ha il potenziale per farti risparmiare una quantità infinita di tempo (e molto altro). Una volta apprese le basi di un VCS, sarà molto meno complicato rispetto all'esecuzione del backup locale che hai in mente.


5
+1: punti molto buoni. Tuttavia, non consiglierei svn: non consente di eseguire modifiche quando non si è connessi a Internet, che a volte può essere un forte vincolo. Consiglierei Git (per utenti esperti) o Mercurial (per un sistema più semplice).
Eric O Lebigot,

7
Un altro voto per Mercurial.
Chris Holmes,

4
@EOL, SubVersion è praticabile in questo caso. Se il repository è locale, non è necessaria una connessione Internet per eseguire commit. (Anche se suggerirei che il repository deve essere almeno su un'unità separata dall'unità di sviluppo.)
Ken Henderson,

1
@EOL: Ah sì, ho dimenticato di includere Mercurial perché non l'ho mai usato prima; verrà modificato ora. Mentre (dopo aver usato Git) non avrei toccato SVN se avessi dovuto, SVN è ancora ampiamente usato.
Jonathan Khoo,

1
@ken svn con un repository locale in dropbox è l'ideale per un singolo utente
Martin Beckett

13

Sì. Usalo per tutto. Usalo per ogni documento che scrivi in ​​Word. Usalo per tutto il codice che scrivi. Usalo per ogni immagine che crei.

Inoltre, una volta imparato come usarlo, starai meglio quando lavori in un ambiente di squadra.


4
L'unico problema con Word è che è in formato binario, quindi non puoi fare un diff; un altro motivo per usare LaTeX.
gablin

Quale sarebbe lo scopo di usarlo con le immagini?
Arriva il

ad esempio WinMerge può differare documenti Word ed Excel
Simon,

2
@Rook: il punto di usarlo con le immagini è che se modifichi un'immagine, puoi sempre tornare alla vecchia versione se necessario.
Alex D,

9

Adoro usare Git quando lavori da solo. Ad esempio, quando lavoro in PHP, creo semplicemente un repository Git sulla mia directory locale che Apache sta servendo. Posso facilmente iniziare a lavorare su una nuova funzionalità (in un ramo) e testarla sul mio computer locale. Quindi, se succede qualcosa e devo fare una "correzione d'emergenza", è semplice come:

git checkout master

Ecco! La mia directory di lavoro è tornata allo stato precedente al mio ramo. Posso fare la soluzione rapida. Quando ho finito, posso tornare al ramo e continuare a sviluppare.

La curva di apprendimento non è molto ripida e ci sono molte informazioni online per aiutarti a iniziare. Scavaci dentro. Ne vale la pena.


Git insieme a GitHub o Gist valgono lo sforzo per progetti solisti. Ti proteggono da te stesso e ti aiutano a ricevere aiuto quando sei pronto per essere coinvolto.
Rob Allen,

5

Il log delle modifiche ti offre un buon posto per documentare le tue modifiche, senza ingombrare la fonte.


2

Scegli qualcosa ospitato come SourceRepo. Non è troppo costoso, ma l'uso del controllo del codice sorgente rende gli errori di annullamento e il ripristino del codice molto più facili.

E puoi accedervi ovunque, se necessario.


4
potresti voler fare attenzione a caricare le proprietà dell'azienda su server esterni. potrebbe andare bene con alcune aziende, ma altre potrebbero disapprovarlo.
davidhaskins,

1
Un buon punto a cui fare attenzione. Presenter ha detto i progetti per se stesso, quindi ho pensato che fosse per uso personale, ma sicuramente assicura che i gestori di linea siano a conoscenza del sistema con cui decidi di andare (specialmente se sono cloud-fobici).
James Love,

2

Ho sempre usato git per il mio sviluppo, fino a quando ho capito che avrei potuto usarlo anche per altre cose. Quindi prova git, ti dà un vero repository, senza la necessità di un server e una connessione costante (questo è un grande vantaggio per me); non diffonde le sottodirectory del progetto con file e cartelle nascosti, ma c'è solo una cartella nella parte superiore del progetto; puoi lanciarlo tutto e clonare tutto quello che vuoi e unirli di nuovo, che funzioni.


2

Se stai cercando gratuitamente e supporto per il codice sorgente chiuso, darei una buona occhiata a Visual Studio Online. È gratuito per un massimo di 5 sviluppatori ed è da solo ... beh ... sì. Questo è un post 4 anni dopo, quindi la tua situazione è probabilmente cambiata, ma per altri singoli sviluppatori alla ricerca di un facile controllo del codice sorgente VSO è una delle mie scelte preferite se non voglio esporre il mio codice sorgente. IIRC Github è gratuito solo per cose open source, ma i loro prezzi sono molto economici. Sia VSO che Github si integrano molto bene con Visual Studio, se questo è il tuo IDE preferito.


E VSO supporta Git ora! Arrivederci vecchio goffo TFVC!
RubberDuck,

1

Ho sempre impostato il controllo del codice sorgente per i miei progetti, con un ambiente di integrazione continua, nonché per creare / eseguire unit test / eseguire controlli di integrazione ogni volta che eseguo il check-in. Inoltre, se si tratta di un'app Web o di un servizio Windows, ho distribuito destinazioni anche. Mi sono risparmiato innumerevoli ore durante il debug e la distribuzione utilizzando questo metodo e non è niente rispetto alla configurazione iniziale.


1

Un'altra caratteristica davvero interessante dei repository è che puoi fare esperimenti / funzionalità davvero rischiosi in un altro ramo. Se funziona, puoi unirti come parte del tuo codice principale. In caso contrario o si esaurisce il tempo, è possibile abbandonarlo (salvato) e tornare al codice principale con l'opzione per ripristinarlo in un secondo momento senza rovinare la base di codice principale.

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.