it-swarm.dev

Contrôle de version pour les développeurs indépendants?

Pensez-vous que cela vaut la peine d'utiliser le contrôle de version si vous êtes un développeur indépendant, et si oui, pourquoi? Conservez-vous le référentiel sur votre propre ordinateur, ou ailleurs, où il peut servir de sauvegarde?

60
vedosity

Si vous utilisez le contrôle de source décentralisé (Mercurial ou Git ou Bazaar ou autre), vous obtenez des avantages sur SVN/CVS qui le rendent facile, utile et puissant à utiliser au cas où vous êtes un indy:

  1. Vous vous engagez localement: votre répertoire de projet est votre référentiel avec l'historique complet. Vous n'avez donc pas besoin d'avoir un serveur, vous vous engagez directement dans votre référentiel, et vous pouvez avoir plusieurs repos sur le même ordinateur. Vous utilisez parfois un ordinateur portable que vous ouvrez pour continuer à travailler sur vos affaires? Génial! Vous n'avez pas besoin de configurer un serveur et si vous en avez besoin plus tard, c'est facile et vous n'avez qu'à "pousser" et "tirer" les modifications entre les référentiels.
  2. C'est fait pour faciliter l'expérimentation: il faut souvent avoir une idée d'une fonctionnalité sans polluer le code. Avec SVN et CVS, vous pouvez déjà utiliser un système de branchement et abandonner la branche si la fonctionnalité n'est pas aussi bonne que vous le souhaitiez. Mais si vous souhaitez fusionner la fonctionnalité avec la version trunk, vous aurez beaucoup de surprises difficiles à résoudre. Git, Mercurial et Bazaar (au moins) facilitent vraiment les fusions et les branches. Vous pouvez même simplement dupliquer un référentiel, y travailler un certain temps, toujours le valider et le tuer ou pousser vos modifications dans le référentiel principal si vous le souhaitez.
  3. Flexibilité d'organisation: comme indiqué précédemment, comme vous avez des référentiels que vous organisez selon vos besoins, il est facile de commencer seul et de permettre à d'autres personnes de travailler avec vous en changeant votre organisation. Aucune organisation n'est imposée, il vous suffit de la configurer et voilà. Souvent, je pousse/tire simplement les changements entre mes propres ordinateurs (ordinateur portable/bureau/serveur) et je suis toujours seul sur mes développeurs. J'utilise Mercurial et cela m'aide à dupliquer mon travail mais aussi à travailler sur des fonctionnalités auxquelles j'ai pensé à l'extérieur sur mon ordinateur portable, puis à continuer à travailler sur d'autres fonctionnalités sur mon bureau, puis à pousser mes modifications d'ordinateur portable sur mon bureau ou serveur et à fusionner l'ensemble du bureau + ordinateur portable et le mettre (comme sauvegarde et futur repo de travail d'équipe) sur mon serveur.
  4. Cela aide à configurer les sauvegardes: si vous configurez un dépôt central (sur GitHub s'il est public, ou dans un dépôt privé sur BitBucket), vous pouvez facilement écrire un script qui sera exécuté à chaque démarrage d'un ordinateur , puis transmettez ce script à vos amis afin qu'il effectue régulièrement des sauvegardes automatiques de votre travail. C'est ce que je fais maintenant, je suis sûr que ce ne sera pas facile de perdre mon travail.

En fait, actuellement, vous n'avez aucune excuse pour ne pas utiliser un outil source de contrôle pour un projet. Parce qu'ils sont plus puissants et flexibles qu'auparavant et s'adaptent à vos besoins.

61
Klaim

le contrôle du code source est totalement inutile pour les développeurs indépendants, car comme nous le savons tous:

  • les développeurs indépendants ne font jamais d'erreurs
  • les développeurs indépendants ne partent jamais sur des révisions qui ne fonctionnent pas
  • les développeurs indépendants n'ont jamais plus d'une version, ils n'ont donc aucune utilité pour les branches
  • les développeurs indépendants ne se soucient jamais de ce qu'ils ont changé hier ou la semaine dernière
  • les développeurs indépendants n'ont jamais besoin de sauvegardes

Appelez-moi un "développeur dépendant": les référentiels Mercurial se clonent facilement entre mon ordinateur de bureau, mes ordinateurs portables, mes lecteurs de sauvegarde USB et bitbucket.org. Je suis devenu dépendant et j'aime ça!

34
Steven A. Lowe

Pourquoi pas?

Je suis développeur solo et j'utilise BitBucket et Mercurial pour mes projets personnels. Avoir la possibilité de revenir en arrière et de bifurquer votre code est tout simplement trop bon pour le laisser passer.

21
Terence Ponce

J'y trouve de la valeur, personnellement. Mes projets sont tous archivés dans des référentiels git (que je garde tous sur plusieurs machines en cas de panne matérielle). Les fonctionnalités les plus utiles sont la ramification (afin que je puisse exécuter une expérience qui gâche la moitié de ma base de code, sans se soucier de faire exploser quoi que ce soit de manière permanente) et la restauration (qui consiste essentiellement à annuler les stéroïdes; au cas où je trouverais que j'en ai fait erreur hors de la plage d'annulation normale).

1
Inaimathi

Oui. C'est très très utile. Mon ami Matt Gallagher a posté cet excellent article sur ce même sujet il y a quelques jours à son blog de développement "Cocoa With Love" iOS/MacOS.

L'article est centré sur Mac et Git, mais il couvre les bases.

Vous pouvez également être intéressé par les questions StackExchange suivantes (et leurs réponses).

1
orj

Ça vaut le coup! Si vous n'utilisez pas le contrôle de source, vous ne contrôlez pas vos sources, et c'est mauvais. Vous ne pouvez pas faire de différence, vous ne pouvez pas revenir en arrière, vous ne pouvez pas suivre les changements - vous passerez des heures à essayer de trouver le faux bogue que vous venez d'entrer. Il est préférable de l'avoir sur un serveur sauvegardé, mais vous pouvez également utiliser votre ordinateur et utiliser n'importe quelle méthode de sauvegarde que vous jugez appropriée.

1
Assimiz

Utilisez absolument le contrôle de source. Configurez ensuite un serveur de build et automatisez vos processus de build et de test. Déclenchez des builds à partir de vos validations source de votre référentiel central. Je travaille seul depuis trois ans de cette manière et c'est merveilleux.

1
Dave Neeley

Oui.

Même les développeurs uniques doivent parfois voir l'état de leur code à partir de certaines révisions antérieures. Et c'est toujours une bonne idée de sauvegarder tout ce qui est important, et cela s'applique à tout le monde.

0
whatsisname