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

StackOverflow https://stackoverflow.com/questions/3859

  •  08-06-2019
  •  | 
  •  

Question

Après avoir appris par au moins 10 personnes sur de SORTE que le contrôle de version est une bonne chose, même si c'est juste moi, maintenant, j'ai une question de suivi.

Quelle est la différence entre tous les différents types de contrôle de version et est-il un guide que quelqu'un sait de contrôle de version qui est très simple et facile à comprendre?

Était-ce utile?

La solution

Eric Évier est un bonne vue d'ensemble du contrôle de code source.Il y a aussi quelques existant questions ici DONC.

Autres conseils

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

Voici celles que je vois le plus utilisé:

  • svn - actuellement le plus populaire open source?
  • git - très chaud car Linus passé à elle
  • mercurial - certaines personnes que je connais ne jurent que par elle
  • cvs - celle dont tout le monde est de commutation de
  • perforce - à mon humble avis, le meilleur de fonctionnalités, mais il n'est pas open source.Les deux de licence de l'utilisateur est libre mais.
  • visual sourcesafe - je ne suis pas beaucoup dans le monde Microsoft, donc je n'ai aucune idée à ce sujet, autre que des gens comme chiffon sur elle comme ils le chiffon sur tout à partir de Microsoft.
  • scc - pour l'intérêt historique, nous le mentionner, le grand-grand-père de beaucoup de ce qui précède
  • rcs - et le grand-père de beaucoup de ce qui précède

Ma recommandation:vous êtes sûr soit avec git, svn ou perforce, puisque beaucoup de gens les utilisent, ils sont de la croix-plate-forme, vous avez de bonnes interfaces graphiques, vous pouvez acheter des livres sur eux, etc.

Ne pas envisager de cvs, sccs, rcs, ils sont antiques.

La bonne chose est que, depuis que vos projets seront relativement faibles, vous serez en mesure de déplacer votre code à un nouveau système une fois que vous êtes plus expérimenté et que vous décidez de travailler avec un autre système.

À tout le monde de commencer à utiliser le contrôle de version:

S'il vous plaît ne pas utiliser git (ou hg ou bzr) en raison de la hype

L'utilisation de git (ou hg ou bzr) parce qu'ils sont de meilleurs outils pour la gestion de code source que SVN.

J'ai utilisé SVN pour quelques années au travail, et sont passés à git il y a 6 mois.Sans apprentissage SVN premier, je serais totalement perdu quand il vient à l'aide d'un DVCS.

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

  • Commencez par télécharger SVN
  • Apprendre pourquoi vous avez besoin de contrôle de version
  • Apprendre à s'engager, de caisse, de la direction générale
  • Découvrez pourquoi la fusion dans le SVN est une douleur

Puis passer à un DVCS et apprendre:

  • Comment cloner/branche/s'engager
  • Combien il est facile de fusionner vos branches de retour (aller direction de fou!)
  • Combien il est facile de réécrire commettre l'histoire et de garder vos branches
    jusqu'à ce 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 apprendre les bases, avant de passer à un DVCS.

Je voudrais commencer par:

Ensuite, une fois que vous avez lu sur elle, la télécharger et l'installer SVN, TortoiseSVN et écumer les premiers chapitres de la livre et obtenir commencé.

Le Contrôle de Version est essentielle au développement, même si vous travaillez par vous-même car il vous protège de vous-même.Si vous faites une erreur, c'est une simple question de revenir à une version précédente de votre code qui fonctionne.Cela libère également vous d'explorer et d'expérimenter avec votre code, car vous êtes libre de vous soucier de savoir si ce que vous faites est réversible ou non.Il existe deux principales branches de Systèmes de Contrôle de Version (VCS), Centralisés et Distribués.

Centralisée VCS sont basées sur l'utilisation d'un serveur central, où tout le monde "extrait" d'un projet, le travaille, et "s'engage" leurs modifications sur le serveur de quelqu'un d'autre.Les principaux Centralisée VCS sont CVS et SVN.Les deux ont été fortement critiquée car "fusion" "branches" qui est extrêmement douloureux avec eux.[TODO:écrire explication sur ce que les branches sont et pourquoi la fusion est dur avec les CV & SVN]

VCS distribués laisser tout le monde ont leur propre serveur, où vous pouvez "tirer" les changements d'autres personnes et de "pousser" les modifications apportées à un serveur.La plus courante VCS Distribués sont Git et Mercurial.[TODO:écrire sur VCS Distribués]

Si vous travaillez sur un projet que j'ai fortement recommander à l'aide d'un VCS distribués.Je recommande Git parce que c'est extrêmement rapide, mais a été critiqué comme étant trop difficile à utiliser.Si vous n'avez pas l'esprit à l'aide d'un produit commercial BitKeeper est facile à utiliser.

L' réponse pour une autre question s'applique également ici, le plus important

Jon Œuvres dit:
La chose la plus importante sur le contrôle de version est:

JUSTE DE COMMENCER À L'UTILISER

Sa réponse va plus dans le détail, et je ne veux pas être accusé de plaigerism afin de prendre un coup d'oeil.

La réponse est simple, aimez-vous Défaire les boutons?La réponse est bien sûr oui, parce que nous en tant qu'être humain de faire des erreurs tout le temps.

En tant que programmeurs, son souvent le cas bien que cela peut prendre plusieurs heures de test, les changements de code, remplace, suppressions de fichiers se déplace et renomme avant que nous de travailler sur la méthode que nous essayons de l'utiliser pour résoudre un problème, c'est entièrement le mauvais et le code est plus rompu que lorsque nous avons commencé.

En tant que tels, Source de Contrôle est un énorme bouton Annuler pour revenir le code à une heure antérieure quand l'herbe était verte et la nourriture abondante.Et pas seulement que, en raison du contrôle de la source fonctionne, vous pouvez toujours garder une copie de votre code cassé, en cas il y a quelques semaines à la ligne que vous souhaitez consulter à nouveau, et cerise choisir les bonnes idées qui n'en sont issus.

Personnellement, j'ai (bien qu'il pourrait être appelé overkill) utiliser gratuitement une licence pour un Seul utilisateur de la version de la Source d'Engins de Forteresse (qui est leur Voûte de contrôle à la source des produits avec des corrections de fonctionnalités de suivi).Je trouve l'INTERFACE vraiment simple à utiliser, il prend en charge la caisse > modifier > checkin modèle et le modifier > fusionner > valider le modèle.Il peut être un peu délicat à régler bien, vous obligeant à exécuter une copie locale de l'ISS et SQL server.Vous voudrez peut-être essayer un petit programme, comme celles recommandées par d'autres réponses ici.Voir ce que vous aimez et ce que vous pouvez vous permettre.

Mark a dit:

git - très chaud car Linus passé à elle

Je veux juste souligner que Linus ne pas y aller, Linus écrit c'.

Si vous travaillez par vous-même dans un environnement Windows, puis le licence mono-utilisateur pour SourceGear du coffre-fort est gratuit.

Nous utilisons et comme Mercurial.Il suit un modèle distribué élimine certains le sentiment d'avoir à vérifier le travail.Mozilla a déplacé de Mercurial, qui est un bon signe qu'il ne va pas disparaître de sitôt.Un con, à mon avis, est qu'il n'y a pas une très bonne interface graphique pour elle.Si vous êtes à l'aise avec la ligne de commande, bien, c'est assez pratique.

Mercurial Documentation Officieux Manuel

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

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

À sa racine, la source de contrôle est conçu pour fournir un référentiel central de tout votre code, et de savoir qui a fait quoi, quand.Il devrait y avoir une histoire complète, et vous pouvez obtenir des produits qui faire plein de modifications, d'audit, de contrôle d'accès, et sur...

Chaque produit qui est là, se met à briller (façon de parler) quand vous commencer à regarder comment vous souhaitez ou avez besoin d'incorporer SC dans votre environnement (qu'il s'agisse de votre code personnel et les documents ou les grandes sociétés).Et que les gens les utilisent, ils découvrent que l'outil a ses limites, donc les gens à écrire de nouveaux.SVN est née de limitations que les créateurs ont vu à CVS.Linus voulais quelque chose de mieux pour le noyau Linux, donc maintenant nous avons git.

Je dirais de commencer à utiliser un (quelque chose comme SVN qui est très populaire et assez facile à utiliser) et de voir comment il va.Comme le temps passe, vous pouvez trouver que vous avez besoin de quelques autres fonctionnalités, ou le besoin de l'interface avec d'autres systèmes, de sorte que vous pouvez avoir besoin SourceSafe ou un autre outil.

Contrôle à la Source est toujours important, et tandis que vous pouvez sortir avec manuellement re-numérotation des versions de fichiers PSD ou quelque chose que vous travaillez sur eux, vous allez à oublier pour exécuter ce script batch une fois ou deux fois, ou susceptibles de l'oublier, le nombre de qui allait avec qui changent.C'est où la plupart de ces SC outils peuvent vous aider (aussi longtemps que vous le check-in/check-out).

Voir aussi ce DONC, la question:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top