56 votes

Système de contrôle de source pour développeur unique

Quel est le système de contrôle de code source recommandé pour une très petite équipe (un développeur)?

Le prix n'a pas d'importance. Le client paierait :-)
Je travaille sur Vista32 avec VS 2008 en C ++ et plus tard en C # et avec WPF. Configurer un serveur supplémentaire (physique) pour cela me semble excessif.

Des opinions?

62voto

Grzegorz Gierlik Points 6465

Je voudrais utiliser Subversion (en fait je l'utilise) [mise à jour: Juillet 2014-j'utilise Git -- voir à la fin de la réponse]. SVN est:

  • gratuit,
  • assez bon (voir les inconvénients ci-dessous),
  • simple,
  • fonctionne très bien sur Windows (et Linux),
  • beaucoup de gens l'utilisent, donc il est facile d'obtenir de l'aide,
  • peut s'intégrer à la plupart des IDEs c'est à dire de Visual Studio (c'est à dire ankhsvn ou VisualSVN -- plus d'infos) ou Eclipse (c'est à dire Subclipse -- ici, quelqu'un a demandé à ce sujet).

Je serais fortement recommandé de séparer la machine à la source de contrôle du serveur. Au mieux, quelque part sur le cloud. Avantages:

  • Vous n'avez pas perdu votre référentiels de contrôle de source si le développement de votre zone meurt.
  • Vous n'avez pas à vous soucier de l'entretien d'un plus fort.

Il y a des entreprises dont l'hôte dépôts SVN.

Ici sont des liens vers SVN (client et serveur) forfaits pour différents systèmes d'exploitation.

Les inconvénients de SVN

Je suis en utilisant SVN sur la machine Windows depuis environ 5 ans et a constaté que SVN a quelques inconvénients :).

Il est lent sur de grands dépôts

SVN (ou de son client -- TortoiseSVN) a un gros désavantage -- terrible lente (pendant la mise à jour ou de commettre des) grande (en milliers de fichiers) dépôts à moins que vous ayez SSD lecteur.

La fusion peut être difficile

Beaucoup de gens se plaignent de la difficulté de la fusion est avec SVN.

Je ne la fusion depuis environ 4 ans (dont 2 ans dans CVS-c'était terrible, mais c'est faisable) et environ 2 ans avec SVN.

Et personnellement je ne trouve pas ça dur -- d'autre part -- tout de fusion est facile après la fusion de branches dans le CVS :).

Je ne la fusion du grand dépôt (deux référentiels en fait) une fois par semaine et rarement j'ai conflits qui sont difficiles à résoudre la plupart des conflits sont résolus automatiquement avec diff logiciel que j'utilise).

Toutefois, en cas de projet de quelques développeurs de la fusion ne devrait pas être un problème si vous en tenir à quelques règles simples:

  • la fusion des modifications souvent,
  • éviter de développement active dans les diverses branches simultanément.

Ajouté en juillet 2011

De nombreux développeurs recommandé Distribué de Contrôle de Version comme Git ou Mercurial.

À partir d' un simple développeur point de vue il y a seulement quelques avantages importants de DVCS sur SVN:

  • DVCS peut être plus rapide.
  • Vous pouvez vous engager à un dépôt local sans accès à la centrale.
  • DVCS est chaud chose et de fantaisie à utiliser/en savoir (si quelqu'un à payer pour votre apprentissage).

Et je ne pense pas que la fusion est un problème dans le cas d'un simple développeur.

Joel Spolsky a écrit tutoriel sur la Mercurial , qui est définitivement la peine de lire.

Donc, en dépit des nombreux avantages de DVCS je resterais avec SVN si la fusion ou la vitesse n'est pas un problème.

Ou essayez Mercurial, qui, selon ce et cette SORTE de questions, c'est mieux pris en charge (en juillet 2011) sur Windows.

Ajouté en juillet 2014

Pendant environ un an, j'utilise Git (Git Bash principalement) pour mon animal de compagnie-projets (c'est à dire la résolution d'Euler problèmes) et des branches locales pour chaque problème d'Euler sont vraiment sympa fonction, exactement comme il est décrit comme avantage de DVCS.

Aujourd'hui Git de l'outillage sur Windows est beaucoup, beaucoup mieux puis 2 ans ou plus. Vous pouvez utiliser la télécommande repo (comme GitHub ou ProjectLocker et beaucoup d'autres) à garder copie de votre projet loin de votre poste de travail sans effort supplémentaire/de l'argent.

Cependant je utiliser GUI client que pour regarde les différences (et parfois, de choisir les fichiers à valider), il est donc préférable de ne pas peur de la ligne de commande, c'est vraiment agréable.

Si bien qu'aujourd'hui je voudrais aller avec Git.

59voto

jespern Points 3434

Je recommande également de Mercurial. C'est le jeu de commandes est un peu comme celle que l'on trouve dans la Subversion, de sorte que la courbe d'apprentissage n'est pas raide. Comme mentionné précédemment, il est conçu pour s'exécuter localement, mais il est également facile de partager et de fusionner les modifications sur les ordinateurs, ou même simplement de les transmettre à un serveur distant pour effectuer des sauvegardes.

Il offre d'excellents outils, comme TortoiseHG, et il a de bons plugins pour NetBeans et Eclipse. Il fonctionne également en mode natif sur Win32, comme il est écrit en Python.

Si vous ne voulez pas configurer un serveur de vous-même (pour les sauvegardes, par exemple), il y a des hébergeurs gratuits disponibles; il y a une liste exhaustive sur L'Mercurial Wiki.

21voto

Thomas Watnedal Points 2405

Je recommanderais certainement git

Fonctionne très bien pour les grandes et les petites équipes. Le seul inconvénient est pauvre natif de support de windows. Bien que cela fonctionne très bien pour moi dans Cygwin. Il existe aussi un natif de windows port.

Certains de ses avantages:

  • Excellent support pour une non-linéaire du flux de travail. Ses branches et la fusion est beaucoup mieux que par exemple la Subversion.
  • De bons outils pour naviguer dans votre référentiel
  • Poignées de grands projets.
  • Il n'est pas possible de modifier l'histoire sans changer la signature de votre référentiel
  • Avec non conception monolithique, il est facile de script.

Certaines personnes trouvent qu'il a une courbe d'apprentissage abrupte. Mais une fois que vous comprenez ce que vous pouvez faire presque tout ce que vous voulez avec elle.

13voto

binOr Points 1596

Optez pour Subversion et TortoiseSVN, vous n'avez pas besoin de l'installer sur un serveur.

  • Les coûts sont nuls
  • La documentation de subversion est excellente et amusante à lire
  • tortoiseSVN est un client très pratique

12voto

Erick Sgarbi Points 799

Sourcegear's Vault est une excellente option, il tourne sur SqlServer et existe depuis de nombreuses années. Je n'utiliserais aucune version de VSS (Visual Source Safe).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X