Buona giornata.
So che dovremmo porre domande a cui è possibile rispondere e non solo discutere, quindi cercherò di rendere quantificabile la mia domanda, anche se non è del tutto naturale.
Sto programmando alcune domande per un progetto di ricerca nella mia università. Ho alcuni progetti "principali", insieme ad alcuni che si diramano. Col passare del tempo, questi rami sono diventati sempre più difficili da controllare. In generale, ho troppi posti in cui ho bloccato progetti di codice. Sono l'unico che lavora davvero su queste applicazioni, ma ho alcune persone che potrebbero sicuramente beneficiare dell'accesso al codice. Inoltre, vorrei ripulire i progetti per usi futuri, siano essi la continuazione del mio lavoro dopo la laurea da parte di altri, i miei progetti al di fuori del lavoro o la capacità di mostrare ai futuri datori di lavoro quali sono le mie competenze.
Una potenziale risposta a questo problema è il software di controllo della versione. Lo so, ma non l'ho usato davvero ... Ho controllato un progetto o due da GitHub, ma non ho mai scavato in realtà ciò che serve per impostare e far funzionare un sistema del genere. Oggigiorno sembrano esserci alcune opzioni là fuori, sia proprietarie che gratuite.
Ho i seguenti desideri per un tale sistema:
In grado di ospitare su sistemi che controllo. Ho un'istanza di Amazon EC2 Micro in esecuzione per alcuni dei miei lavori, quindi questo sarebbe un posto dove potrei installare tale software. Anche altre macchine sono disponibili per me, quindi non sono necessariamente vincolato all'istanza Micro, ma per ora è il mio obiettivo principale. In questo momento, sta eseguendo una copia dell'immagine Linux di Amazon, quindi idealmente, il controllo della versione dovrebbe essere eseguito su Linux. Anche se voglio che sia ospitato sui miei sistemi, non voglio gestirli come lavoro a tempo pieno ... Sono prima uno studente e uno sviluppatore.
Accessibile tramite Microsoft Visual Studio. Mentre di tanto in tanto lavoro in altri ambienti, la maggior parte del mio lavoro viene eseguita in C # con Visual Studio 2012. Idealmente, potrei controllare e unire le modifiche nell'IDE.
Ben documentato. Va da sé, ma ci siamo già stati tutti prima.
Facile da eseguire il backup o il trasferimento. Non sono sicuro di cosa venga utilizzato esattamente per organizzare i progetti, ma sarebbe bello se potessi prendere i miei progetti e spostarli in un altro sistema di controllo della versione, se lo desidero. Naturalmente, poiché si tratta di file di lavoro, dovrei essere in grado di eseguirne il backup.
Quali sono i tuoi suggerimenti in merito al software di controllo versione tenendo conto di questi criteri? Sono uno studente e questo è più o meno un mio progetto personale, quindi mentre ho accesso ad alcuni sistemi proprietari a costo minimo o nullo (mi vengono subito in mente i prodotti Microsoft), non ho molti soldi da affondare in questo. Idealmente, la soluzione è gratuita. Spero che il modo in cui ho strutturato questa domanda consenta una risposta definita o una serie di suggerimenti.