Vous utilisez une sorte de contrôle de version lorsque vous travaillez seul et avec de petits projets?

30

Très souvent, je travaille sur de petits projets uniquement pour moi. Je travaille sur une seule machine, mais récemment, j'ai quand même pensé à utiliser une sorte de contrôle de version. Cela aurait certains avantages comme par exemple:

  • Je n'ai plus à me soucier de la sauvegarde locale
  • Les erreurs peuvent facilement être annulées
  • L'histoire peut être conservée

Mais d'un autre côté, il présente également certains inconvénients comme par exemple:

  • Ressources supplémentaires nécessaires
  • Il est temps de s'installer, de s'y habituer, etc.

D'après votre expérience, est-ce une bonne chose d'utiliser le contrôle des révisions lorsque vous travaillez seul?

RoflcoptrException
la source
Mes deux cents: j'utilise Mercurial et NetBeans et la partie la plus précieuse du VCS que j'utilise (Mercurial) est d'être en mesure d'apporter des modifications, d'examiner les modifications et de les effacer (validation) (fichiers à la fois ou tout le projet) à ma guise. (NetBeans a un diff graphique qui fonctionne avec Mercurial) Cela m'aide à garder une poignée sur ce que je viens de faire. Notre entreprise a un historique et un système de sauvegarde différents, donc je ne l'utilise généralement pas à cette fin.
Bryan Field

Réponses:

46

Oui.

Tout ce qu'il faut, c'est une seule erreur et vous vous en tirerez. Vous êtes également en mesure de choisir le système de contrôle de version (VCS) utilisé. S'il est possible que vous travailliez dans une équipe de développement à l'avenir, c'est le moment idéal pour vous offrir une expérience pratique avec un VCS. SVN et Git (ou Mercurial) seraient d'excellents points de départ et ne devraient prendre que quelques heures pour saisir les commandes de base de chaque VCS.

Maintenant pour démystifier quels sont les points négatifs ...

1) Ressources supplémentaires requises

La seule ressource requise est l'espace disque. Comme il s'agit d'un petit pourcentage (plus petit en Git que X ) de votre code total, je ne pense pas que ce sera un problème. Cela ne coûte rien non plus.

2) Temps de configuration, habitude, etc.

Il faudra du temps pour l'apprendre, mais ce n'est que quelques heures pour chacun d'eux (comme mentionné ci-dessus). À plus long terme, il a le potentiel de vous faire gagner un temps infini (et bien plus encore). Une fois que vous maîtrisez les bases d'un VCS, ce sera beaucoup moins difficile que d'effectuer la sauvegarde locale que vous avez en tête.

JK
la source
5
+1: Très bons points. Cependant, je ne recommanderais pas svn: il ne permet pas de valider des modifications lorsqu'il n'est pas connecté à Internet, ce qui peut parfois être une contrainte forte. Je recommanderais Git (pour les utilisateurs expérimentés) ou Mercurial (pour un système plus simple).
Eric O Lebigot
7
Encore un vote pour Mercurial.
Chris Holmes
4
@EOL, SubVersion est viable dans ce cas. Si le référentiel est local, une connexion Internet n'est pas requise pour effectuer des validations. (Bien que je suggère que le référentiel doit être au moins sur un lecteur séparé du lecteur de développement.)
Ken Henderson
1
@EOL: Ah oui, j'ai oublié d'inclure Mercurial parce que je ne l'ai pas utilisé auparavant; modifiera maintenant. Alors que (après avoir utilisé Git) je ne toucherais pas SVN si je le devais, SVN est toujours largement utilisé.
JK
1
@ken svn avec un dépôt local dans dropbox est idéal pour un seul utilisateur
Martin Beckett
13

Oui. Utilisez-le pour tout. Utilisez-le pour chaque document que vous écrivez dans Word. Utilisez-le pour tout le code que vous écrivez. Utilisez-le pour chaque image que vous créez.

De plus, une fois que vous aurez appris à l'utiliser, votre situation sera meilleure lorsque vous travaillerez en équipe.

davidhaskins
la source
4
Le seul problème avec Word est qu'il est au format binaire, vous ne pouvez donc pas faire de diff; une autre raison d'utiliser LaTeX.
gablin
Quel serait l'intérêt de l'utiliser avec des images?
Tour le
Par exemple, WinMerge peut différencier des documents Word et Excel
Simon
2
@Rook: l'intérêt de l'utiliser avec des images est que si vous éditez une image, vous pouvez toujours revenir à l'ancienne version si vous en avez besoin.
Alex D
9

J'adore utiliser Git lorsque je travaille seul. Par exemple, lorsque je travaille en PHP, je crée simplement un référentiel Git sur mon répertoire local qu'Apache sert. Je peux facilement commencer à travailler sur une nouvelle fonctionnalité (dans une branche) et la tester sur ma machine locale. Ensuite, si quelque chose arrive et que je dois faire un "correctif d'urgence", c'est aussi simple que:

git checkout master

Voila! Mon répertoire de travail revient à l'état où il était avant ma succursale. Je peux faire la solution rapide. Quand j'aurai fini, je pourrai revenir à la branche et continuer à développer.

La courbe d'apprentissage n'est pas très abrupte et il existe de nombreuses informations en ligne pour vous aider à démarrer. Creusez dedans. Ça en vaut la peine.

TaylorOtwell
la source
Git avec GitHub ou Gist valent l'effort pour les projets solo. Ils vous protègent de vous-même et facilitent l'obtention d'aide lorsque vous êtes prêt à impliquer les autres.
Rob Allen
5

Le journal des modifications vous donne un bon endroit pour documenter vos modifications, sans encombrer la source.

Joris Geer
la source
2

Optez pour quelque chose hébergé comme SourceRepo. Ce n'est pas trop cher, mais l'utilisation du contrôle de source rend la suppression des erreurs et la restauration du code beaucoup plus faciles.

Et vous pouvez y accéder n'importe où si vous en avez besoin.

James Love
la source
4
vous voudrez peut-être faire attention lors du téléchargement des propriétés de l'entreprise sur des serveurs externes. cela peut convenir à certaines entreprises, mais d'autres pourraient désapprouver.
davidhaskins
1
Bon point à surveiller. Le soumissionnaire a déclaré des projets pour lui-même, j'ai donc supposé que c'était pour un usage personnel, mais assurez-vous certainement que les responsables hiérarchiques sont conscients du système avec lequel vous décidez d'aller (surtout s'ils sont phobiques dans le cloud).
James Love
2

J'ai toujours utilisé git pour mon développement, jusqu'à ce que je réalise que je pouvais aussi l'utiliser pour d'autres choses. Alors essayez git, cela vous donne un vrai référentiel, sans avoir besoin d'un serveur et d'une connexion constante (c'est un gros plus pour moi); il ne répartit pas les sous-répertoires de votre projet avec des fichiers et des dossiers cachés, mais il n'y a qu'un seul dossier en haut du projet; vous pouvez tout jeter et cloner tout ce que vous voulez et les fusionner à nouveau, que cela fonctionne.

Coyote21
la source
2

Si vous recherchez de la gratuité et de la prise en charge de sources fermées, j'examinerais bien Visual Studio Online. C'est gratuit pour jusqu'à 5 développeurs, et être seul ... enfin ... ouais. Ceci est un article 4 ans plus tard, donc votre situation a probablement changé, mais pour d'autres développeurs individuels à la recherche d'un contrôle de source facile, VSO est l'un de mes choix préférés si je ne veux pas exposer mon code source. IIRC Github est gratuit uniquement pour les trucs open source, mais leur prix est très bon marché. VSO et Github s'intègrent très bien à Visual Studio, si cela s'avère être votre IDE de choix.

Bill Sambrone
la source
Et VSO prend en charge Git maintenant! Adieu vieux TFVC maladroit!
RubberDuck
1

Je configure toujours le contrôle de code source pour mes propres projets, avec un environnement d'intégration continu ainsi que pour créer / exécuter des tests unitaires / exécuter des vérifications d'intégration à chaque fois que je me connecte. De plus, s'il s'agit d'une application Web ou d'un service Windows, je dois déployer des cibles ainsi que. Je me suis sauvé d'innombrables heures de débogage et de déploiement à l'aide de cette méthode et ce n'est rien comparé à sa configuration initiale.

aceinthehole
la source
1

Une autre fonctionnalité qui est vraiment cool à propos des dépôts est que vous pouvez faire des expériences / fonctionnalités très risquées dans une autre branche. Si cela fonctionne, vous pouvez fusionner dans le cadre de votre code principal. Si ce n'est pas le cas ou si vous manquez de temps, vous pouvez l'abandonner (enregistré) et revenir à votre code principal avec la possibilité d'y revenir plus tard sans qu'il gâche votre base de code principale.

Théorie du chaos
la source