2009-08-21 12 views
9

Il mio codice base sta diventando abbastanza grande ed è difficile organizzare tutti i diversi rami usando solo le directory, mi chiedevo quale sarebbe stato un sistema di controllo delle versioni decente per il mio uso personale che funziona (con poco fastidio) su Windows?Qual è la migliore soluzione VCS per Windows?

PS: Non sto cercando VCS ospitato come GitHub, SourceForge o Google Code.

risposta

9

Se stai impostando qualcosa solo per te, un sistema di controllo delle versioni DVCS (d per distribuito) sarà molto più semplice da configurare rispetto a Subversion. (Modifica: corretto, TortoiseSVN semplifica la configurazione di un repository.Eppure, andrei con un DVCS a meno che tu non sappia già SVN e vuoi mantenerlo. Trovo molto meno fastidio per i progetti più piccoli, e se tu lo si utilizza su più di una macchina, il tutto è supportato sia in caso di problemi HD.)

Qualsiasi Git, Mercurial e Bazaar sono scelte eccellenti in generale. Git su Windows non ha ancora un client nativo, anche se ci sono quelli che funzionano in modo decente tramite gli emulatori, quindi non andrei con quello. Mercurial è abbastanza facile da installare su Windows (con TortoiseHg per l'integrazione della shell se lo si desidera), e credo che anche Bazaar lo sia. Andrei con Mercurial over Bazaar se non lo sapessi e ne avrei scelto uno semplicemente perché è più diffuso.

This SO question è su Git/Mercurial/Bazaar su Windows.

+2

Su Windows, non è possibile ottenere molto più facile di Fare clic destro> Crea repository qui ... –

+9

IMHO Git non sarebbe la soluzione migliore per Windows. –

+0

Thomas: grazie, aggiornato. –

-7

SourceSafe funziona abbastanza bene per i singoli progetti. Subversion è anche un prodotto solido, ma un po 'più difficile da configurare rispetto a VSS. Se vuoi fare un po 'di soldi e avere la migliore esperienza con Visual Studio, Team System è anche un'opzione.

+1

non su Windows. Se scarichi TortoiseSVN, ha tutto il necessario per configurare ed eseguire un server su Windows. –

+0

Oh cool. Non ho usato SVN da anni, e all'epoca era una specie di dolore. – TheHurt

+0

Sì. È davvero facile In effetti, sono rimasto sorpreso da quanto fosse facile. –

0

Si prevede di utilizzare un server esterno o di eseguire il server sulla stessa macchina?

Se si prevede di utilizzare un proprio server esterno, vorrei raccomandare Mercurial. Il sistema distribuito ti consente di diramarti e continuare a effettuare il check-in anche se non hai accesso al server (ad esempio, stai scrivendo il codice su un laptop e non sei in rete con il server VCS).

Se si prevede di utilizzare la stessa macchina, è consigliabile Subversion. Ha un solido supporto per Windows e non mi ha ancora deluso.

+0

No, questo sarebbe tutto solo locale. –

+0

Mi dispiace forse per aver chiesto una risposta così semplice (sono relativamente nuovo a CVS) ma TortoiseSVN fa tutto ciò che è necessario (agisce come un "client" e un "server")? –

+0

Il modo in cui l'ho configurato (e non sono sicuro che fosse un'opzione quando l'ho installato o meno), ma posso usare Tortoise per creare e mantenere il lavoro "lato server" di un repository. –

2

Se si prevede di utilizzare le filiali un po ', consiglierei sicuramente di stare lontano da SourceSafe. In effetti, stai lontano dal periodo di SourceSafe.

Ho usato SVN, git e Sourcesafe in un ambiente di produzione e preferirei i primi due su Sourcesafe. È troppo goffo per i miei gusti e tende a uscire da solo e a fare cose a caso. Quindi è necessaria l'integrazione di Visual Studio e questo è solo un mal di testa.

SVN è semplicemente bello e funziona un po 'la maggior parte del tempo. Le versioni successive supportano un'unione con un clic con commenti da un ramo all'altro che è qualcosa che mancava prima.

git è MOLTO più veloce, in effetti è molto veloce. La curva di apprendimento è piuttosto ripida e staresti guardando e git documentazione e mi chiedo cosa diavolo sta cercando di dirti molto.

+1

+10 per ** Stare lontano da SourceSafe **. Periodo. – sbi

0

Sono un grande fan di Sourcegear Vault. I costi generali dell'infrastruttura sono un po 'più alti (richiede SQL Server Exrpess o superiore), ma forniscono una licenza utente singola gratuita e puoi ottenere un buon supporto se ne hai bisogno.

1

Perforce è un VCS commerciale eccellente che utilizzo da oltre 10 anni. Ha capacità di ramificazione e fusione particolarmente buone. Lo uso abitualmente a livello internazionale su una VPN senza problemi.

Senza una licenza di avere un limite di 2 utente (ottimo per uso personale/piccoli progetti) altrimenti costa $$$

+0

Perché è stato downvoted senza commento? Uso Perforce al lavoro e sebbene non utilizzi il mio uso personale (preferisco DVCS), trovo che sia un buon VCS, con una GUI eccellente e una buona integrazione con Windows. Così ho bilanciato il downvote ... :-) – PhiLho

+0

Sì, anche se non lo userei da solo, ci deve essere qualcosa di valore nell'usare un software così costoso se puoi farlo gratuitamente. Dopotutto, Perforce è ciò che Microsoft usa (o usato prima che la Dog Food Police presumibilmente iniziasse a usare il TeamFrustration .... Voglio dire, linea di prodotti "Foundation") – Deltics

4

Subversion

  • sua popolare e ha una grande comunità.
  • La ramificazione e l'etichettatura sono semplici.
  • È gratuito e open source.

Inoltre, scaricare TortoiseSVN, ti dà una bella interfaccia grafica e ha l'integrazione della shell di Windows in modo da poter fare clic destro sul file e cartelle in Esplora risorse ed eseguire operazioni VCS.

+1

+1 gotta luv da turtle – kenny

+1

+1 subversions eccellente i clienti (in particolare TortoiseSVN) sono una vera vittoria sotto Windows. -1 Dopo alcune settimane di utilizzo di git, mercurial, bzr o simili, non penserò mai più al supporto ramificato di Subversion come "facile" - o comunque efficiente " – bendin

+0

Aggiungi VisualSVN Server se vuoi un Apache based" true "Server SVN con tutta la facilità d'uso di Tortoise. – Deltics

3

Dalle tue selezioni, tutto tranne Git va bene per Windows. Ma poiché lo stai usando solo per te stesso, qualcosa che è centralizzato come VSS e SVN potrebbe essere troppo lungo quanto è necessario impostare un repository separato. Quindi ora sono giù a Bazaar e Mercurial allora.

IMHO questi due sono davvero buoni se si lavora da soli. La differenza tra questi due è Prestazioni e Workflow supporta:

Bazaar

È possibile configurare bazar per supportare qualsiasi tipo di flusso di lavoro che si desidera. Puoi farlo funzionare con il flusso di lavoro centralizzato come SVN e avere più filiali sotto un unico repository o puoi renderlo distribuito come qualsiasi altro DVCS.

Mercurial

Non si può avere più sportelli fisici in un unico repository con Mercurial come SVN o Bazaar, ma la cosa buona di IMHO Mercurial è l'interfaccia utente semplice che è davvero semplice e le prestazioni che è più veloce di bazaar (anche se il bazar sta diventando sempre più veloce nella loro recente versione).


Tra la scelta di questi due, è necessario limitare a qual è la massima priorità? Prestazioni o flusso di lavoro?

+3

"Non puoi avere più rami fisici sotto un unico repository con Mercurial come SVN o bazar" - Cosa? 'hg branch newbranch'? –

+0

Penso che la velocità di Mercurial per i progetti personali di piccole e medie dimensioni non sarà evidente se paragonata a bzr. bzr 2.0 sarà rilasciato a settembre 2009 e gli sviluppatori di bzr sostengono che funziona velocemente come hg. – bialix

+0

Non esiste una cosa come "hg init-repository" in mercurial. Quindi non puoi avere più filiali fisiche sotto un repository in mercurial. –

3

dare una prova di Plastic SCM:

  • Superb ramificazione e la fusione (compresa la piena ridenominazione e per articolo tracciabilità)
  • molto forti opzioni di visualizzazione: ramo esploratore, 3D version tree, statistiche
  • distribuito (probabilmente la solo DVCS completamente grafico e progettato per funzionare su Windows)
  • Supporto per più database back-end: MySQL, SQL Server, Oracle, Firebird ...
  • completamente integrato all'interno di Visual Studio
  • I server possono funzionare ovunque (Linux, Mac, Windows)
  • supporto di file enorme
Problemi correlati