web-dev-qa-db-fra.com

Quelle est la plate-forme la plus fondamentale et la plus simple pour le développement collaboratif (projet PHP)?

J'ai besoin de travailler avec 4-5 programmeurs sur une associe moyenne PHP application à l'aide de CodeDigniter. Nous sommes dans 5 endroits différents dans une ville, et tous les programmeurs sont tous trop bien éduqués et Je suppose que la plupart d'entre eux n'ont jamais utilisé aucun système de contrôle de version.

Pouvez-vous recommander une plate-forme très très facile à réaliser 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é.

14
Esuus

Vous connaissez déjà la réponse

Le contrôle de la version a été conçu pour résoudre ce problème . Si vos développeurs ne veulent pas apprendre à utiliser cette pratique de développement standard, vous devrez peut-être reconsidérer vos développeurs. Quel type de logiciel va-t-il chuter si elles montrent une aversion à des pratiques acceptées standard, ainsi qu'une aversion pour apprendre de nouvelles choses?

Je vous suggérerais de les avoir lu Pro Git et mettre en place un référentiel git privé pour votre équipe.

12
Craige

... FTP

Ok, c'est la façon dont j'ai commencé à collaborer, à accrocher le NotePad ++ à FTP, sauvegarde de la merde toutes les 10 minutes dans des dossiers renommés réellement aspiré, si vous le faites, pour le bien de votre projet, utilisez au moins la version de la version sur le serveur.

Une IDE en ligne

Cloud9 est très agréable et a une édition simultanée, cependant, cela vous coûtera plus de 1 espace de travail privé pour travailler avec votre équipe, mais cela en vaut la peine.

... essaie mercurial

Si vous ne trouvez pas assez de git accessible par vos collègues, essayez Mercurial avec Tortoisehg, qui est un client d'interface graphique pour Mercurial. Cela les prendra deux minutes pour installer et moins pour commencer à l'utiliser.

Demandez-leur d'utiliser l'interface graphique, ils doivent simplement apprendre à utiliser 4 boutons (tirez-moi, mettre à jour, commit, pousser) et apprendre 2 ou 3 concepts afin de sauvegarder et de partager leur travail.

Demandez-leur de vous inscrire dans BitBucket . Créez un référentiel pour votre projet et demandez-leur de la fourche afin de pouvoir travailler dans leur propre miroir du référentiel et de cette façon, ils n'ont pas à gérer la fusion. Vous faites l'intégration et demandez simplement à leur délivrer des demandes de traction de leur fourchette Bitbucket une fois qu'ils ont poussé. Demandez-leur de tirer uniquement de votre référentiel (celui qu'ils ont fourchus).

Découvrez Mercurial vous-même pour que vous puissiez résoudre tous les problèmes liés, c'est un bon départ: http://hginit.com/

Essayer les deux

Vous pouvez utiliser Mercurial à partir de Cloud9, à quel point c'est cool ?.

Arrêtez de supposer

Si vous êtes celui qui cherche à utiliser les outils corrects, vous êtes déjà en position de leader. Ne supposez pas qu'ils ne sont pas éduqués et ne parlent pas avec eux de la façon dont les choses sont faites dans le monde réel.

Soyez enthousiaste à ce sujet un non condescendant.

Cela ne devient vraiment plus facile que cela si vous voulez faire les choses correctement. Si elles expressément ne veulent pas utiliser la version de contrôle, vous pourriez avoir un autre type de problème plus grave.

4
dukeofgaming

Je recommande vos développeurs à http://try.github.com

Mais si aucune version de la version n'est possible, vous pourriez rester avec quelque chose d'adapter le très débutant/junior qui est basique (et archaïque).

  1. l'application + dB sur le serveur de développement
  2. Tout le monde sur le même messager tout le temps tout en travaillant afin de pouvoir parler et savoir qui travaille
  3. Tout le monde édite en direct sur le serveur de dev à travers un vieux ftp plain
  4. Appliquer les règles de l'équipe sur la mise à jour d'un ChangeLog avec leurs révisions + rendant les commentaires du code crucial

La configuration du dossier Web de votre serveur de développement pourrait également être la commande SVN Checkout (ou GIT) et vous pouvez configurer les révisions de crontab sur automatiquement automatiquement ou vous pouvez simplement installer une sauvegarde ou peut-être rsync le dossier sur un autre emplacement de sauvegarde pour quand Ils écrasent les dossiers (comme cela se produira) et vous devez donner à BOB ses modifications qu'il a perdues. Finalement, après avoir travaillé avec le système pendant quelques mois, ils vous mendiront de leur donner un accès SVN/Git.

3
Anthony Hatzopoulos

Eh bien, il n'y a aucun moyen que d'utiliser version-contrôle .

Dropbox a une sorte de contrôle de version , mais je pense que si deux personnes enregistre un fichier, la version plus récente remplacera simplement la version plus ancienne, qui n'est pas souhaitable pour le contrôle de la version pendant le développement logiciel.

SVN est un système de contrôle de la 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 pour des équipes distribuées géographiquement.

Donc, la voie à suivre pour les équipes ditributées est git. Si vous avez votre source publique OR _ Acheter A - plan privé n'est pas un problème, créez un référentiel sur GitHub , configurez sinon un référentiel Git local.

Peut-être que vous pouvez trouver une interface graphique pour GIT, ce qui pourrait permettre à ces développeurs de commencer à saisir un système de contrôle de la version conceptuellement. Pour Windows, c'est Tortoisegit . Je n'ai utilisé aucun client Git GUI pour Linux ou Mac, je ne le recommanderai donc pas.

2
Ozair Kafray

Vous êtes sur une bonne voie

Les version controlling est la voie à suivre! Il servira bien de collaborer le partage de code et aidera à l'intégration. En outre, des enregistrements fréquents sont une discipline très importante que toute l'équipe doit pratiquer.

Cependant, Choisir la bonne version de la version pour votre projet est très important.

Il y a une belle post et des réponses récentes pour vous aider à décider: Qu'est-ce qu'un bon exemple de jouet pour enseigner la version Control?

2
Yusubov

Je suppose que la plupart d'entre eux n'ont jamais utilisé aucun système de contrôle de version.

Vous devez corriger cette hypothèse et savoir s'ils ne possèdent aucune connaissance ni expérience de systèmes de contrôle de version. Pas de point en supposant quand ils pourraient avoir des connaissances.

Comme les autres réponses ont dit, c'est ce que le contrôle de la version est pour. Git est probablement la meilleure voie à suivre, et apprendre Git est un très bon point de départ

2
Amy