¿Cuál es la plataforma más básica y simple para el desarrollo colaborativo (proyecto PHP)? [cerrado]

14

Necesito trabajar con 4-5 programadores en una aplicación PHP bastante promedio usando codeigniter. Estamos en 5 ubicaciones diferentes en una ciudad, y todos los programadores no están muy bien educados y asumo que la mayoría de ellos nunca han usado ningún sistema de control de versiones.

¿Puede recomendar alguna plataforma muy fácil de obtener para colaborar en un proyecto como este? Estoy hablando de algo que es solo un poco más sofisticado que una carpeta compartida de Dropbox.

    
pregunta Esuus 16.07.2012 - 16:27

6 respuestas

12

Ya sabes la respuesta

El control de versiones fue diseñado para resolver este problema exacto . Si sus desarrolladores no están dispuestos a aprender a usar esta práctica de desarrollo estándar, es posible que deba reconsiderar a sus desarrolladores. ¿Qué tipo de software van a producir si muestran una aversión a las prácticas estándar aceptadas, así como una aversión a aprender cosas nuevas?

Sugeriría que lean Pro Git y que configuren un repositorio privado de git para su equipo.

    
respondido por el Craige 16.07.2012 - 16:33
3

... FTP

Ok, esta es la forma en que comencé a colaborar, conectando Notepad ++ a FTP, haciendo copias de seguridad de cada 10 minutos en carpetas renombradas que realmente apestaban, si lo haces, por el bien de tu proyecto, al menos usa el control de versiones servidor.

Un IDE en línea

Cloud9 es muy bueno y tiene edición simultánea, sin embargo, te costará tener más de 1 espacio de trabajo privado para trabajar con tu equipo, pero vale la pena.

... prueba Mercurial

Si tus compañeros de trabajo no encuentran Git lo suficientemente accesible, prueba Mercurial con TortoiseHG, que es un cliente GUI para Mercurial. Les tomará dos minutos para la configuración y menos para comenzar a usarlo.

Pídales que usen la GUI, solo tienen que aprender a usar 4 botones (tirar, actualizar, confirmar, empujar) y aprender 2 o 3 conceptos para guardar y compartir su trabajo.

Haga que se registren en bitbucket . Cree un repositorio para su proyecto y pídales que lo bifurquen para que puedan trabajar en su propio espejo del repositorio y de esa manera no tienen que lidiar con la fusión. Usted hace la integración y solo pídales que emitan solicitudes de extracción desde su bifurcación de Bitbucket una vez que hayan realizado el proceso. Pídales que solo saquen de su repositorio (del que se bifurcaron).

Aprenda Mercurial usted mismo para que pueda resolver todos los problemas relacionados, este es un buen comienzo: enlace

Prueba ambos

Puedes usar Mercurial desde Cloud9, ¿no es genial?

Deja de asumir

Si usted es quien busca utilizar las herramientas correctas, ya se encuentra en una posición de liderazgo. No asuma que no están educados y hable con ellos sobre cómo se hacen las cosas en el mundo real.

Sea entusiasta y no condescendiente.

Realmente no puede ser más fácil que esto si quieres hacer las cosas bien. Si expresamente no quiere usar el control de versiones, es posible que tenga otro tipo de problema más serio.

    
respondido por el dukeofgaming 26.07.2012 - 20:34
2
  

Supongo que la mayoría de ellos nunca han usado ningún sistema de control de versiones.

Debe corregir ese supuesto y averiguar si tienen o no conocimiento o experiencia de algún sistema de control de versiones. No tiene sentido suponer cuándo podrían tener conocimiento.

Como han dicho otras respuestas, para esto está el control de versiones. Git es probablemente el mejor camino a seguir, y Learn Git es un muy buen punto de partida

    
respondido por el Amy 18.07.2012 - 09:35
2

Bueno, no hay otra salida que usar control de versiones .

Dropbox tiene una especie de control de versiones , pero creo que si dos personas guardan un archivo, la versión más reciente simplemente reemplazará la versión anterior, lo que no es deseable para el control de la versión durante el desarrollo del software.

Svn es un sistema de control de versiones fácil de aprender (al menos más fácil que git), y puedes encontrar varios repositorios públicos alojados en línea, pero no lo recomendaría para equipos distribuidos geográficamente.

Entonces, el camino a seguir para los equipos distribuidos es git. Si tener su fuente pública O comprar un plan privado no es un problema, cree un repositorio en github , de lo contrario, configure un repositorio de git local.

Es posible que pueda encontrar una GUI para git que podría facilitar a estos desarrolladores comenzar a comprender conceptualmente un sistema de control de versiones. Para Windows es TortoiseGIT . No he usado ningún cliente de git gui para Linux o MAC, por lo que no recomendaré uno aquí.

    
respondido por el Ozair Kafray 16.07.2012 - 19:13
2

Recomiendo a sus desarrolladores que enlace

Pero si no es posible el control de la versión, podrías seguir con algo adecuado para el principiante / junior que es básico (y arcaico).

  1. la APP + DB en el servidor de desarrollo
  2. Todos en el mismo mensajero todo el tiempo mientras trabajan para que puedan hablar y saber quién está trabajando
  3. Todos editan en vivo en el servidor DEV a través de un FTP simple y antiguo
  4. Haga cumplir las reglas del equipo para actualizar un registro de cambios con sus revisiones + haciendo que los comentarios del código sean cruciales

La configuración de la carpeta web de su servidor de desarrollo también podría ser svn checkout (o git) y usted puede configurar el crontab para que realice revisiones automáticas cada cierto tiempo automáticamente o simplemente puede instalar una copia de seguridad o tal vez rsync la carpeta a otra copia de seguridad ubicación para cuando se sobrescriben los archivos de los demás (como ocurrirá) y usted necesita darle a Bob los cambios que perdió. Eventualmente, después de trabajar con el sistema durante algunos meses, le pedirán que les dé acceso a svn / git.

    
respondido por el Anthony Hatzopoulos 18.07.2012 - 16:58
1

Estás en el camino correcto

¡El version controlling es el camino a seguir! Servirá bien para colaborar en el intercambio de código y ayudar con la integración. Además, los registros frecuentes son una disciplina muy importante que todos los equipos deben practicar.

Sin embargo, elegir el control de versión correcto para tu proyecto es muy importante.

Hay una buena publicación reciente y respuestas para ayudarte a decidir: ¿Cuál es un buen ejemplo de juguete para enseñar el control de versiones? / a>

    
respondido por el EL Yusubov 16.07.2012 - 21:35

Lea otras preguntas en las etiquetas