Quelle est la différence entre tous les différents types de contrôle de version?

Translate

Après avoir été informé par au moins 10 personnes sur SO que le contrôle de version était une bonne chose même si ce n'est que moi, j'ai maintenant une question de suivi.

Quelle est la différence entre tous les différents types de contrôle de version et y a-t-il un guide que tout le monde connaît pour le contrôle de version qui est très simple et facile à comprendre?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Eric Sink a unbon aperçu du contrôle de source. Il y a aussi quelquesexistant des questionsici sur SO.

La source
Translate

Nous semblons être à l'âge d'or du contrôle de version, avec une tonne de choix, qui ont tous leurs avantages et leurs inconvénients.

Voici ceux que je vois les plus utilisés:

  • svn - actuellement l'open source le plus populaire?
  • git - très chaud depuis que Linus y est passé
  • mercurial - certaines personnes intelligentes que je connais ne jurent que par ça
  • cvs - celui dont tout le monde passe
  • perforce - à mon humble avis, les meilleures fonctionnalités, mais ce n'est pas open source. La licence pour deux utilisateurs est cependant gratuite.
  • visual sourcesafe - Je ne suis pas grand-chose dans le monde de Microsoft, donc je n'ai aucune idée de celui-ci, à part les gens aiment se frotter dessus car ils chiffrent tout de Microsoft.
  • sccs - pour l'intérêt historique, nous mentionnons ceci, l'arrière-grand-père de plusieurs des
  • rcs - et le grand-père de beaucoup de ceux ci-dessus

Ma recommandation: vous êtes le plus sûr avec git, svn ou perforce, car beaucoup de gens les utilisent, ils sont multiplateformes, ont un bon guis, vous pouvez acheter des livres sur eux, etc.

Ne considérez pas les cv, sccs, rcs, ils sont antiques.

La bonne chose est que, puisque vos projets seront relativement petits, vous pourrez déplacer votre code vers un nouveau système une fois que vous serez plus expérimenté et que vous aurez décidé de travailler avec un autre système.

La source
Translate

À tous ceux qui commencent tout juste à utiliser le contrôle de version:

Veuillez ne pas utiliser git (ou hg ou bzr) à cause du battage médiatique

Utilisez git (ou hg ou bzr) car ils sontmeilleurs outilspour la gestion du code source que SVN.

J'ai utilisé SVN pendant quelques années au travail et je suis passé à git il y a 6 mois. Sans apprendre d'abord SVN, je serais totalement perdu quand il s'agit d'utiliser un DVCS.

Pour les personnes débutant avec le contrôle de version:

  • Commencez par télécharger SVN
  • ApprendrePourquoivous avez besoin d'un contrôle de version
  • Apprenez à vous engager, à payer, à créer une succursale
  • Découvrez pourquoi la fusion dans SVN est si pénible

Ensuite, passez à un DVCS et apprenez:

  • Comment cloner / créer une branche / valider
  • Comme il est facile de fusionner vos branches (devenez fou de branche!)
  • Comme il est facile de réécrire l'historique des validations et de conserver vos branches
    à jour avec la ligne principale (git rebase -i,)
  • Comment publier vos modifications afin que d'autres puissent en bénéficier

tldr; foule:

Commencez avec SVN et apprenez les bases, puis passez à un DVCS.

La source
Translate

Je commencerais par:

Ensuite, une fois que vous l'avez lu, téléchargez et installezSVN, ÉcailleSVNet parcourez les premiers chapitres dulivreet commencez.

La source
Translate

Le contrôle de version est essentiel au développement, même si vous travaillez seul, car il vous protège de vous-même. Si vous faites une erreur, il suffit de revenir à une version précédente de votre code dont vous savez qu'elle fonctionne. Cela vous permet également d'explorer et d'expérimenter votre code, car vous n'avez pas à vous soucier de savoir si ce que vous faites est réversible ou non. Il existe deux branches principales des systèmes de contrôle de version (VCS), centralisée et distribuée.

Les VCS centralisés sont basés sur l'utilisation d'un serveur central, où tout le monde «vérifie» un projet, travaille dessus et «valide» ses modifications sur le serveur pour que quelqu'un d'autre puisse les utiliser. Les principaux VCS centralisés sont CVS et SVN. Les deux ont été fortement critiqués parce que «fusionner» des «branches» est extrêmement douloureux avec eux. [TODO: écrivez une explication sur ce que sont les branches et pourquoi la fusion est difficile avec CVS et SVN]

Le VCS distribué permet à chacun d'avoir son propre serveur, sur lequel vous pouvez «extraire» les modifications d'autres personnes et «pousser» les modifications vers un serveur. Les VCS distribués les plus courants sont Git et Mercurial. [TODO: écrivez plus sur Distributed VCS]

Si vous travaillez sur un projet, je recommande fortement d'utiliser un VCS distribué. Je recommande Git car il est extrêmement rapide, mais il a été critiqué comme étant trop difficile à utiliser. Si cela ne vous dérange pas d'utiliser un produit commercial, BitKeeper est censé être facile à utiliser.

La source
Translate

lerépondreàune autre questions'applique également ici, le plus important

Jon travaillem'a dit:
La chose la plus importante à propos du contrôle de version est:

COMMENCEZ JUSTE À L'UTILISER

Sa réponse est plus détaillée, et je ne veux pas être accusé de plaigérisme, alors jetez un œil.

La source
Translate

La réponse simple est: aimez-vous les boutons Annuler? La réponse est bien sûr oui, car nous, en tant qu'être humain, faisons des erreurs tout le temps.

En tant que programmeurs, il est souvent vrai que cela peut prendre plusieurs heures de test, de changements de code, d'écrasements, de suppressions, de déplacements de fichiers et de renommer avant de trouver la méthode que nous essayons d'utiliser pour résoudre un problème est entièrement la mauvaise le code est plus cassé que lorsque nous avons commencé.

En tant que tel, le contrôle de la source est un énorme bouton Annuler pour rétablir le code à une époque antérieure lorsque l'herbe était verte et la nourriture abondante. Et non seulement cela, en raison du fonctionnement du contrôle de code source, vous pouvez toujours conserver une copie de votre code cassé, au cas où quelques semaines plus tard, vous voudriez vous y référer à nouveau et choisir les bonnes idées qui en découlent. .

Personnellement (bien que cela puisse être qualifié d'exagéré), j'utilise une version gratuite de licence mono-utilisateur de Source Gear Fortress (qui est leur produit de contrôle de source Vault avec des fonctionnalités de suivi des bogues). Je trouve l'interface utilisateur très simple à utiliser, elle prend en charge à la fois le modèle d'extraction> d'édition> d'enregistrement et le modèle d'édition> fusion> commit. Cela peut être un peu difficile à configurer, vous obligeant à exécuter une copie locale d'ISS et du serveur SQL. Vous voudrez peut-être essayer un programme plus petit, comme ceux recommandés par d'autres réponses ici. Voyez ce que vous aimez et ce que vous pouvez vous permettre.

La source
Translate

Mark a dit:

git - très chaud depuis que Linus y est passé

Je veux juste souligner que Linus n'est pas passé à ça, Linusa écritil.

La source
Translate

Si vous travaillez seul dans un environnement Windows, leLicence d'utilisateur uniquepour SourceGear's Vault est gratuit.

La source
Translate

Nous utilisons et aimonsMercuriel. Il suit un modèle distribué - il élimine une partie du sentiment d'avoir à «enregistrer» le travail. Mozilla adéménagé à Mercurial, ce qui est un bon signe que cela ne disparaîtra pas de si tôt. Un inconvénient, à mon avis, est qu'il n'y a pas une très bonne interface graphique pour cela. Si vous êtes à l'aise avec la ligne de commande, cependant, c'est assez pratique.

Documentation Mercurial Manuel non officiel

La source
Translate

Commencez simplement à utiliser le contrôle de source, quel que soit le type que vous utilisez. Ce que vous utilisez n'a pas d'importance; c'est l'utilisation qui est importante

La source
Translate

Comme tout le monde, SC dépend vraiment de vos besoins, de votre budget, de votre environnement, etc.

À sa racine, le contrôle de code source est conçu pour fournir un référentiel central de tout votre code et pour suivre qui a fait quoi et quand. Il devrait y avoir un historique complet et vous pouvez obtenir des produits qui effectuent des journaux de modifications complets, des audits, des contrôles d'accès, etc.

Chaque produit qui existe commence à briller (pour ainsi dire) lorsque vous commencez à regarder comment vous voulez ou devez intégrer SC dans votre environnement (qu'il s'agisse de votre code personnel et de vos documents ou d'une grande entreprise). Et au fur et à mesure que les gens les utilisent, ils découvrent que l'outil a des limites, alors les gens en écrivent de nouveaux. SVN est né des limitations que les créateurs ont vues avec CVS. Linus voulait quelque chose de mieux pour le noyau Linux, alors maintenant nous avonsgit.

Je dirais de commencer à en utiliser un (quelque chose comme SVN qui est très populaire et assez facile à utiliser) et de voir comment cela se passe. Au fil du temps, vous constaterez peut-être que vous avez besoin d'une autre fonctionnalité, ou devez vous connecter avec d'autres systèmes, vous pouvez donc avoir besoin de SourceSafe ou d'un autre outil.

Le contrôle de la source est toujours important, et bien que vous puissiez vous en tirer avec la recomposition manuelle des versions des fichiers PSD ou quelque chose comme vous travaillez dessus, vous allez oublier d'exécuter ce script de commandes une ou deux fois, ou probablement oublier quel numéro est allé avec quel changement. C'est là que la plupart de ces outils SC peuvent vous aider (tant que vous vous enregistrez / sortez).

La source
Translate

Voir aussi cette question SO:

La source