2009-06-30 4 views
5

Je suis un étudiant de première année CS qui souhaite apprendre un système de contrôle de version bien. Actuellement, je regarde Subversion, Perforce et Surround SCM.Apprentissage de la version de contrôle pour un étudiant de première année

Je voudrais intégrer le système avec Eclipse, sur une plate-forme Linux. Le code impliqué serait principalement C++, Java et LaTeX (que j'utiliserai également avec Eclipse). Probablement je serai le seul utilisateur, mais l'avantage de SVN est qu'il est open source, tandis que les deux autres sont propriétaires. J'ai entendu beaucoup de bons témoignages sur TortiseSVN, mais depuis que j'utilise Linux, je vais passer à côté de ça.

EDIT: Merci pour toutes les réponses. Bien sûr, je suis ouvert à tous les autres systèmes de contrôle de version. Je vais vérifier Git et Mercurial.

Répondre

8

Si vous apprenez des systèmes de contrôle de version, vous feriez certainement bien d'envisager l'un des plus récents systèmes de contrôle de version «distribués» tels que Git ou Mercurial. En limitant votre portée à la génération précédente d'outils comme vous l'avez mentionné, vous manquerez ce que (certaines) personnes utilisent vraiment aujourd'hui.

Pour apprendre un système, je ne recommanderais probablement pas de choisir une offre commerciale. Vous obtiendrez un support et une documentation bien meilleurs, gratuitement, avec une solution open source.

1

Si vous allez être le seul sur un projet, vous devriez absolument vérifier SVN. Obtenez Subclipse, un plugin Eclipse pour Subversion, et s'habituer à cela. Ensuite, passez à d'autres systèmes de contrôle de version une fois que vous vous sentez à l'aise.

5

Si ce sont vos seules options, certainement SVN. C'est celui (de cette liste) que les vrais gens utilisent dans la nature.

Honnêtement, cependant, apprendre un DVCS. Git, Mercurial, darcs, l'un d'eux.

1

Je voudrais seconder (ou troisième) ceux qui ont suggéré Git ou Mercurial (ou Bazar). Les systèmes de contrôle de version distribués ne sont pas seulement bons pour les projets avec plusieurs contributeurs; J'utilise Git pour tous les projets que je démarre, même s'ils ne sont que des lancements. Fondamentalement, votre dossier de développement est votre référentiel - Il est portable, et il est facile d'ajouter plus de contributeurs et de passer à un flux de travail centralisé plus traditionnel plus tard. Je recommande Git surtout parce qu'il a une courbe d'apprentissage un peu raide, mais il m'a beaucoup appris sur la gestion de projet, le contrôle des révisions, comment fusionner et corriger des fichiers, comment lire la sortie 'diff', etc. Cela vous permet vraiment de comprendre les détails du contrôle de version.

1

SVN est très facile à apprendre. Pour ceux qui utilisent Windows, la version graphique est géniale.

Même si vous utilisez Linux, je suggérerais encore l'apprentissage, car il est largement utilisé dans des endroits tels que Google Code, Python, Wordpress, etc ...

0

Bazaar est absolument génial pour une seule personne, développement sans serveur. Il faut cinq minutes entières pour se mettre en place, et cela fonctionne immédiatement. Il a la puissance des gros VCS ... mais il est assez facile à utiliser seul. J'ai entendu dire que Git et Mercurial sont dans le même sens ...mais j'ai un = seulement utilisé Bzr.

0

Je recommanderais Subversion, simplement en raison de son omniprésence dans les projets open source. Il y a certainement beaucoup de possibilités d'utiliser vos connaissances Subversion dans des projets open source, et si vous le faites, vous apprendrez beaucoup sur le codage, le travail en équipe et l'utilisation correcte d'un VCS dans une équipe (qui est la moitié d'apprendre à utiliser un VCS, et c'est la partie difficile parce que vous ne pouvez pas l'apprendre très bien vous-même). Moins de projets Open Source utilisent des VCS propriétaires, ce qui signifie que vous aurez moins l'occasion de les utiliser dans le monde réel, à moins que vous ne travailliez spécifiquement avec des amis ou en tant que travail. Je n'ai pas utilisé les deux autres que vous avez mentionnés, mais je ne me plains pas de Subversion, c'est assez simple à utiliser.

Je voudrais également recommander un VCS distribué, tel que git. Avec un VCS distribué, puisque chaque participant à un projet possède une copie complète du référentiel source, et dispose d'un contrôle complet sur sa propre copie, cela signifie que vous disposez d'une plus grande flexibilité pour utiliser les fonctionnalités VCS. Vous constaterez que vous avez la liberté de vous engager aussi souvent que vous le souhaitez, et créez de nouvelles branches quand vous voulez, ce qui est génial lorsque vous apportez des modifications au code et que vous souhaitez pouvoir revenir à une ancienne version si nécessaire . Un VCS distribué vous permet d'utiliser le VCS comme un outil pour aider votre codage, plutôt que simplement comme un moyen de stocker et partager votre code avec d'autres. C'est aussi très facile de mettre en place un nouveau référentiel dans un VCS distribué. Avec git vous exécutez simplement git init et il va configurer le contrôle de version dans le répertoire courant. Est-ce facile?

Questions connexes