Domanda

Devo implementare il controllo della versione, anche solo per lo sviluppo che faccio a casa.Ho letto quanto sia fantastico Subversion negli ultimi due anni e stavo per dedicarmi a impararlo finché non ho sentito parlare di Git come il sistema di controllo delle versioni emergente.

Data la situazione, dovrei aspettare e vedere quale dei due uscirà migliore?Quali sono i loro vantaggi relativi?

Un problema che ho notato con Git è che non ci sono molte GUI complete, il che è importante per molti utenti del mio team.

Inoltre, non mi dispiacerebbero suggerimenti su come iniziare con l'uno o l'altro.(tutorial, ecc.)

È stato utile?

Soluzione

La cosa più importante del controllo della versione è:

INIZIA A USARLO

Non usare il controllo della versione è un'idea orribile.Se non stai utilizzando il controllo della versione, smetti di leggere adesso e inizia a usarlo.

È molto facile convertire da

cvs<->svn<->git<->hg

Non importa quale scegli.Scegli quello più semplice da utilizzare e inizia a registrare la cronologia del tuo codice.Puoi sempre migrare a un altro (D)VCS in un secondo momento.

Se stai cercando una GUI facile da usare, guarda TartarugaSVN (Windows) E Versioni (Mac) (Suggerito da codifica senza commenti)


Modificare:

pix0r ha detto:

Git ha alcune funzionalità interessanti, ma non sarai in grado di apprezzarle a meno che tu non abbia già utilizzato qualcosa di più standard come CVS o Subversion.

Questo.Usare git è inutile se non sai cosa può fare per te il controllo della versione.

Modifica 2:

Ho appena visto questo link su Reddit: Foglio informativo sulla sovversione.Buon riferimento rapido per la riga di comando svn.

Altri suggerimenti

Usa subversion, è facile da configurare, facile da usare e ha molti strumenti.Qualsiasi futuro sistema di revisione avrà un'importazione dalla funzionalità SVN, quindi non è che tu non possa cambiare in futuro se le tue esigenze crescono.

IL Libro sulla sovversione è la soluzione migliore per apprendere lo strumento.Potrebbero esserci altri tutorial di avvio rapido là fuori, ma il Libro è il miglior riferimento singolo che troverai.

Git ha alcune funzionalità interessanti, ma non sarai in grado di apprezzarle a meno che tu non abbia già utilizzato qualcosa di più standard come CVS o Subversion.Sarei decisamente d'accordo con i poster precedenti e inizierei con Subversion.

Se sei nuovo al controllo della versione leggi questo:
Manuale sul controllo del codice sorgente

Scegli SVN.Se non hai mai utilizzato il controllo del codice sorgente prima, non ti importerà in un modo o nell'altro.

Inoltre, non è necessaria una grande quantità di apprendimento nell'utilizzo di un sistema di controllo del codice sorgente.Se ne impari uno, puoi facilmente passare a un altro in un secondo momento.

SVN è un ottimo strumento e dovrebbe prendersi cura della maggior parte delle tue esigenze.E da quando è in circolazione, ha una buona condivisione di strumenti GUI (TortoiseSVN, ad esempio).

Scegli SVN.

Per una spiegazione amichevole della maggior parte dei concetti di base, vedere Una guida visiva al controllo della versione.L'articolo è molto adatto a SVN.

Ho usato RCS, CVS, SCCS, SourceSafe, Vault, perforce, subversion e git.

Ho valutato BitKeeper, Dimensions, arch, bazaar, svk, ClearCase, PVCS e Synergy.

Se dovessi iniziare un nuovo repository oggi, sceglierei idiota.Mani giù.

È gratuito, veloce e in fase di sviluppo attivo.

E puoi usarlo come client di qualsiasi repository subversion usando git-svn.

Spacca.

@superjoe30

Che ne dici di usare il controllo del codice sorgente sul tuo computer, se sei l'unico programmatore?È una buona pratica?Ci sono suggerimenti o trucchi correlati?

Trovo che git sia in realtà più semplice per questo in quanto non hai bisogno di un server o preoccuparti di inserire URL e così via.Le tue cose di controllo della versione risiedono semplicemente nel file .git directory all'interno del tuo progetto e vai avanti e usalo.

Introduzione di 5 secondi (supponendo che tu l'abbia installato)

cd myproject
git init
git add * # add all the files
git commit

La prossima volta fai qualche cambiamento

git add newfile1 newfile2 # if you've made any new files since last time
git commit -a

Finché lo fai, Git ti copre le spalle.Se sbagli, il tuo codice è al sicuro nel simpatico repository git.È meraviglioso

  • Nota:Potresti trovare un po' più difficile estrarre le cose da Git che inserirle, ma è molto preferibile avere quel problema piuttosto che non avere affatto i file!

Dalla mia esperienza, non consiglierei git come introduzione al controllo della versione.Lo uso ormai da un paio di mesi e la mia impressione è che sia molto potente e, ora che ci ho parzialmente capito, ragionevolmente intuitivo.Tuttavia, la curva di apprendimento è molto ripida, anche se utilizzo il controllo della versione da anni.Soffre anche di essere troppo espressivo: supporta molti flussi di lavoro e modelli di sviluppo diversi, ma l'unica guida sul modo "migliore" di usarlo è poche pagine in una ricerca su Google, il che rende anche difficile la scelta per un nuovo arrivato. su.

Detto questo, è possibile che iniziare da zero con git possa in realtà essere più semplice: la mia esperienza con VCS è tutta con il controllo di versione centralizzato (CVS, SVN, Perforce...) e parte delle mie (continue!) difficoltà con git è stata comprendere le implicazioni del modello distribuito.Ho dato una breve occhiata ad altri DVCS come Bazaar e Mercurial e sembravano essere un po' più adatti ai principianti.

Ad ogni modo, come altri hanno già detto, Subversion è probabilmente il modo più semplice per abituarsi alla mentalità del controllo della versione e ottenere un'esperienza pratica dei vantaggi di VCS (rollback, rami, sviluppo collaborativo, revisione più semplice del codice, ecc.).

Oh, e non iniziare con CVS.È ancora di uso pratico e presenta dei vantaggi, ma secondo me ha troppe stranezze storiche e problemi di implementazione (commit non atomici!) per essere un buon modo per imparare.

Il mio voto va a Subversion.È molto potente, ma facile da usare e ha alcuni ottimi strumenti come TartarugaSVN.

Ma come altri hanno già detto prima di me, INIZIA A USARLO.Il controllo del codice sorgente è una parte così importante del processo di sviluppo del software.Nessun progetto software "serio" dovrebbe farne a meno.

Nel mio attuale lavoro, il mio predecessore non utilizzava alcun tipo di controllo della versione.Ci sono solo montagne di cartelle in almeno 3 posti diversi dove teneva tutti i suoi progetti.È possibile che qualsiasi cartella di progetto casuale trovi almeno una cartella denominata "progetto (OLD)" e una denominata "progetto"

Con il controllo della versione, non dovrai mai fare copie di build "sicure".Non devi davvero preoccuparti che il tuo IDE danneggi il file su cui stai lavorando (sto guardando te, REALBasic 5.5) perché è così facile da committare (leggi:Salva) il tuo lavoro ogni giorno.

Inutile dire che ho installato il controllo della versione il giorno dopo aver scoperto che esisteva.

Inoltre, TortoiseSVN rende l'impegno nel database facile come fare clic con il pulsante destro del mouse su una cartella.

Prova anche svn visivo per il tuo server se vuoi evitare qualsiasi lavoro da riga di comando.

Se utilizzi Mac OSX, ho scoperto che http://www.versionsapp.com/">Versions è un incredibile front-end GUI (gratuito) per SVN.

Git è superiore a Subversion, ma è un po' al limite.

Direi che, se hai appena iniziato, salta sul limite;crea un account gratuito @ http://github.com

Hanno materiale didattico in loco per la configurazione e l'utilizzo di Git.

Non aspettare.Scegline uno e seguilo.Tutti i sistemi avranno i loro vantaggi e svantaggi.Potrebbe mancarti la corrente, il tuo computer verrà rubato o ti dimenticherai di annullare una modifica importante e tutto il tuo codice verrà fritto mentre aspetti di vedere chi emerge vittorioso.

Non è così difficile passare da un sistema di controllo della versione all'altro.Come altri hanno già detto, la cosa importante è iniziare a usare qualsiasi cosa il prima possibile.I vantaggi derivanti dall'utilizzo del controllo del codice sorgente rispetto al non utilizzo del controllo del codice sorgente superano di gran lunga i vantaggi differenziali tra diversi tipi di controllo del codice sorgente.

Ricorda che, indipendentemente dalla versione del controllo del codice sorgente che stai utilizzando, sarai sempre in grado di eseguire una conversione a forza bruta su un altro sistema depositando i file dal tuo vecchio sistema su disco e quindi importando quei file non elaborati nel nuovo sistema.

Inoltre, avere familiarità con i fondamenti del controllo del codice sorgente è un'abilità molto, molto importante da possedere come sviluppatore di software.

Usa TortoiseSVN (version.app se su Mac).Basta installarlo e partire.Se hai bisogno di un posto dove ospitare il tuo codice, guarda http://beanstalkapp.com/

SubVersion è la scelta migliore per te, come ha sottolineato Karl Seguin, il passaggio a un altro sistema di controllo delle versioni non sarebbe un problema.inoltre SVN ha delle GUI molto facili da usare nel lato client (TortoiseSVN).

http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion

Se scegli di utilizzare Subversion e desideri ospitare il tuo server svn, allora esiste un server basato su Windows molto carino e semplice chiamato server VisualSVN.Nasconde la complessità della configurazione di un server Apache, in pratica devi semplicemente andare avanti.La configurazione dell'utente viene gestita con una webUI, anziché con un file config

http://www.visualsvn.com/server/

usare un server pubblico come Beanstalk è probabilmente più semplice, ma ad alcune persone piace avere i propri repository, sia per velocità che per sicurezza

Quando ho deciso che dovevo utilizzare un sistema di controllo delle versioni del codice, ho cercato qualche buon tutorial su come iniziare, ma non ne ho trovato nessuno che potesse aiutarmi.

Quindi ho semplicemente installato il server SVN e Tortoise SVN per il client e mi sono tuffato nel profondo e non ho imparato come usarlo lungo il percorso.

Inizia a utilizzare SVN per il tuo lavoro vero e proprio, ma cerca di trovare il tempo per giocherellare con Git e/o Mercurial.SVN è ragionevolmente stabile per la produzione, ma alla fine dovrai affrontare uno scenario in cui lo farai Bisogno un SCM distribuito, entro il quale sarete adeguatamente armati e i nuovi sistemi saranno sufficientemente maturi.

Sì, SVN da preferire a meno che tu non abbia davvero bisogno delle funzionalità particolari di git.SVN è già abbastanza difficile;Sembra che sia più complicato convivere con Git.Puoi ottenere svn ospitato da persone come Fagiolo magico - a meno che tu non abbia personale Linux interno, lo consiglierei davvero.Le cose possono andare storte con estrema facilità ed è bello avere qualcun altro il cui compito è risolverle.

C'è un eccellente tutorial sul controllo delle revisioni di Eric Sink che vale la pena leggere indipendentemente dal sistema utilizzato.

superjoe30 scrive:

Domanda correlata (forse le risposte possono essere modificate per rispondere anche a questa domanda):

Che ne dici di usare il controllo del codice sorgente sul tuo computer, se sei l'unico programmatore?>>è una buona pratica?Ci sono suggerimenti o trucchi correlati?

Utilizzo SVN per tutti i miei progetti personali.Ho iniziato eseguendo svn sul mio computer di casa, ma alla fine sono passato a Dreamhost.I loro pacchetti di hosting che includono Subversion sono abbastanza ragionevoli.

Se su una finestra Windows una soluzione rapida e sporca è CVSNT.Facile da usare basta configurarlo e funziona molto bene.

Io stesso preferisco SVN ma questo è buono per un uso rapido.

Sceglierei sicuramente SVN rispetto a CVS, se non altro perché le persone che hanno imparato il controllo del codice sorgente utilizzando CVS, tendono a utilizzare "svn delete" Poi "svn add" invece di "svn move".Ciò rende più difficile trovare tutte le revisioni precedenti di un file specifico.E puoi sempre eseguire l'aggiornamento all'utilizzo di git-svn.Personalmente penso che sia più facile da imparare di hg, ma in realtà è così principale Il motivo per utilizzare SVN è che è diventato in gran parte il sistema di controllo della versione de facto del software Open Source.

Se mai hai intenzione di imparare / utilizzare D è quasi obbligatorio accedere ai repository di terze parti, come DFonte.

@ superjoe30 Sì, assolutamente.Una volta che inizi a utilizzare il controllo della versione non torni più indietro.Lo uso per tutto, anche per la mia cartella "home".

@Orion Edwards Subversion non richiede un server.Puoi accedere direttamente a un repository locale (tramite un client, ovviamente) e non è coinvolto alcun processo server.

Usa semplicemente TortoiseSVN e puoi vivere anche senza conoscere i comandi effettivi di Subversion...Ma questo è un male.Fortunatamente ci sarà sempre una “grande opportunità” per impararli a memoria, quando il tuo inestimabile archivio verrà danneggiato per la prima volta.

Sì, succede.

Come menzionato molte volte altrove, Just Do It.Sono riuscito a iniziare da zero con Subversion sotto Windows in pochissimo tempo leggendo la guida rapida nel Libro rosso.Una volta che ho indicato TortoiseSVN nel repository, ero a posto.Mi ci è voluto un po' per individuare i punti più fini, ma erano piccole gobbe da superare.

Suggerirei di installare il servizio Subversion invece di utilizzare gli URL file://, ma si tratta principalmente di preferenze personali.Per un repository archiviato sul computer di sviluppo, file:// funziona correttamente.

Per esperienza personale, svn sarebbe la mia raccomandazione.Puoi anche utilizzare un servizio come Fagiolo magico che offre account gratuiti (con limiti ovviamente, ma sufficienti per qualsiasi progetto di piccole dimensioni) per testare il terreno.Ma come altri hanno già detto, Git è superiore e probabilmente vale la pena esaminarlo.

Un suggerimento importante per facilitare la configurazione di un server SVN in questo momento è utilizzare un'appliance virtuale.Cioè, una macchina virtuale su cui è preinstallato e (principalmente) preconfigurato Subversion: praticamente una cosa plug & play.Puoi provare Qui, Qui E Qui, oppure prova semplicemente a cercare su Google "subversion virtual appliance".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top