version-control - versionning - versioning site web




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

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

À sa racine, le contrôle de source est conçu pour fournir un référentiel central de tout votre code, et suivre qui a fait quoi quand. Il devrait y avoir un historique complet, et vous pouvez obtenir des produits qui remplissent tous les changelogs, l'audit, le contrôle d'accès, et ainsi de suite ...

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

Je dirais commencer en utilisant un (quelque chose comme SVN qui est très populaire et assez facile à utiliser) et voir comment ça se passe. Au fur et à mesure que le temps passe, il se peut que vous ayez besoin d'autres fonctionnalités ou que vous ayez besoin d'interagir avec d'autres systèmes. Vous aurez peut-être besoin de SourceSafe ou d'un autre outil.

Le contrôle de la source est toujours important, et bien que vous puissiez vous en sortir manuellement en numérotant de nouveau les fichiers PSD, vous oubliez d'exécuter ce script de lot une ou deux fois, ou vous oubliez probablement quel numéro est passé. avec quel changement. C'est là que la plupart de ces outils peuvent vous aider (aussi longtemps que vous check-in / check-out).

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 c'est juste 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?


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



La réponse à une autre question s'applique également ici, le plus important

Jon Works a déclaré:
La chose la plus importante à propos du contrôle de version est:

COMMENCEZ À UTILISER IT

Sa réponse va plus en détail, et je ne veux pas être accusé de plaigénisme alors jetez un coup d'oeil.


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 est facile de restaurer une ancienne version de votre code que vous connaissez. Cela vous permet également d'explorer et d'expérimenter votre code, car vous n'avez plus à 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: écrire une explication sur ce que sont les branches et pourquoi la fusion est difficile avec CVS ​​et SVN]

VCS distribué permet à chacun d'avoir son propre serveur, où vous pouvez "tirer" les changements d'autres personnes et "pousser" les changements à 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 incroyablement rapide, mais 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.


Mark a dit:

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

Je veux juste faire remarquer que Linus n'y est pas passé, écrit Linus.


Nous utilisons et aimons Mercurial . Il suit un modèle distribué - il élimine une partie du sentiment d'avoir à «vérifier» le travail. Mozilla a déménagé à Mercurial , ce qui est un bon signe que ça ne va pas disparaître de sitôt. Un con, à mon avis, c'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, c'est plutôt pratique.

Manuel non officiel de Mercurial Documentation


Pour tout le monde qui commence à utiliser le contrôle de version:

S'il vous plaît ne pas utiliser git (ou hg ou bzr) en raison de l'exagération

Utilisez git (ou hg ou bzr) car ce sont de meilleurs outils pour gérer le 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 SVN d'abord 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
  • Apprenez pourquoi vous avez besoin du contrôle de version
  • Apprenez à commettre, vérifier, branche
  • Découvrez pourquoi la fusion dans SVN est une telle douleur

Ensuite, passez à un DVCS et apprenez:

  • Comment cloner / branche / commettre
  • Comme c'est facile de fusionner vos branches en arrière (branchez fou!)
  • Comme il est facile de réécrire l'historique des commit et de garder vos branches
    à jour avec la ligne principale ( git rebase -i ,)
  • Comment publier vos modifications pour que d'autres puissent en bénéficier

tldr; foule:

Commencez avec SVN et apprenez les bases, puis diplômé en DVCS.






version-control