J'ai besoin de travailler avec 4-5 programmeurs sur une application PHP assez moyenne en utilisant codeigniter. Nous sommes dans 5 endroits différents dans une même ville, et tous les programmeurs ne sont pas tous très bien formés et je suppose que la plupart d'entre eux n'ont jamais utilisé de système de contrôle de version.
Pouvez-vous recommander une plateforme très très facile d'accès pour collaborer sur un projet comme celui-ci? Je parle de quelque chose qui n'est qu'un peu plus sophistiqué qu'un dossier Dropbox partagé.
Réponses:
Vous connaissez déjà la réponse
Le contrôle de version a été conçu pour résoudre ce problème précis . Si vos développeurs ne veulent pas apprendre à utiliser cette pratique de développement standard, vous devrez peut-être reconsidérer vos développeurs. Quels types de logiciels vont-ils produire s'ils manifestent une aversion pour les pratiques standard acceptées, ainsi qu'une aversion pour l'apprentissage de nouvelles choses?
Je suggère de leur faire lire Pro Git et de configurer un référentiel git privé pour votre équipe.
la source
... FTP
Ok, c'est comme ça que j'ai commencé à collaborer, en connectant Notepad ++ à FTP, en sauvegardant la merde toutes les 10 minutes dans des dossiers renommés vraiment aspirés, si vous faites cela, pour votre projet, utilisez au moins le contrôle de version sur le serveur.
Un IDE en ligne
Cloud9 est très agréable et a des modifications simultanées, cependant, cela vous coûtera d'avoir plus d'un espace de travail privé pour travailler avec votre équipe, mais cela en vaut la peine.
... essayez Mercurial
Si vous ne trouvez pas Git suffisamment accessible par vos collègues, essayez Mercurial avec TortoiseHG, qui est un client GUI pour Mercurial. Il leur faudra deux minutes pour configurer et moins pour commencer à l'utiliser.
Demandez-leur d'utiliser l'interface graphique, il leur suffit d'apprendre à utiliser 4 boutons (tirer, mettre à jour, valider, pousser) et d'apprendre 2 ou 3 concepts afin de sauvegarder et de partager leur travail.
Demandez-leur de s'inscrire sur Bitbucket . Créez un référentiel pour votre projet et demandez-leur de le bifurquer afin qu'ils puissent travailler dans leur propre miroir du référentiel et de cette façon, ils n'aient pas à gérer la fusion. Vous faites l'intégration et leur demandez simplement d'émettre des demandes d'extraction à partir de leur fork Bitbucket une fois qu'ils ont poussé. Demandez-leur de ne tirer que de votre référentiel (celui dont ils proviennent).
Apprenez vous-même Mercurial afin de pouvoir résoudre tous les problèmes liés, c'est un bon début: http://hginit.com/
Essayez les deux
Vous pouvez utiliser Mercurial à partir de Cloud9, à quel point est-ce cool?.
Arrêtez de supposer
Si vous êtes celui qui cherche à utiliser les bons outils, vous êtes déjà en position de leadership. Ne présumez pas qu'ils ne sont pas éduqués et discutez avec eux de la façon dont les choses se font dans le monde réel.
Soyez enthousiaste à ce sujet et non condescendant.
Ce n'est vraiment pas plus facile que cela si vous voulez bien faire les choses. S'ils ne veulent expressément pas utiliser le contrôle de version, vous pourriez avoir un autre type de problème plus grave.
la source
Je recommande à vos développeurs de http://try.github.com
Mais si aucun contrôle de version n'est possible, vous pouvez vous en tenir à quelque chose qui convient au très débutant / junior qui est basique (et archaïque).
La configuration du dossier Web de votre serveur de développement pourrait également être svn checkout (ou git) et vous pouvez configurer la crontab pour valider automatiquement les révisions de temps en temps automatiquement ou vous pouvez simplement installer une sauvegarde ou peut-être rsync le dossier vers un autre emplacement de sauvegarde pour quand ils écrasent les fichiers les uns des autres (comme cela arrivera) et vous devez donner à Bob ses modifications qu'il a perdues. Finalement, après avoir travaillé avec le système pendant quelques mois, ils vont vous supplier de leur donner un accès svn / git.
la source
Vous devez corriger cette hypothèse et savoir s'ils ont ou n'ont aucune connaissance ou expérience des systèmes de contrôle de version. Inutile de supposer quand ils pourraient avoir des connaissances.
Comme d'autres réponses l'ont dit, c'est à cela que sert le contrôle de version. Git est probablement la meilleure voie à suivre, et Learn Git est un très bon point de départ
la source
Eh bien, il n'y a pas d'autre moyen que d'utiliser le contrôle de version .
Dropbox a une sorte de contrôle de version , mais je pense que si deux personnes enregistrent un fichier, la nouvelle version remplacera simplement l'ancienne version, ce qui n'est pas souhaitable pour le contrôle de version pendant le développement logiciel.
Svn est un système de contrôle de version facile à apprendre (au moins plus facile que git), et vous pouvez trouver divers référentiels publics hébergés en ligne, mais je ne le recommanderais pas aux équipes réparties géographiquement.
Donc, la voie à suivre pour les équipes distribuées est git. Si avoir votre source publique OU acheter un plan privé n'est pas un problème, alors créez un référentiel sur github , sinon configurez un référentiel git local.
Peut-être que vous pouvez trouver une interface graphique pour git qui pourrait faciliter la compréhension conceptuelle d'un système de contrôle de version par ces développeurs. Pour Windows, son TortoiseGIT . Je n'ai utilisé aucun client git gui pour Linux ou MAC, donc je n'en recommanderai pas ici.
la source
Vous êtes sur la bonne voie
C'est
version controlling
le chemin à parcourir! Il servira bien à collaborer au partage de code et à faciliter l'intégration. De plus, les enregistrements fréquents sont une discipline très importante que toute l'équipe doit pratiquer.Cependant, choisir le bon contrôle de version pour votre projet est très important.
Il y a un bon article récent et des réponses pour vous aider à décider: Qu'est-ce qu'un bon exemple de jouet pour enseigner le contrôle de version?
la source