¿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 supongo que la mayoría de ellos nunca ha usado ningún sistema de control de versiones.

¿Me puede recomendar alguna plataforma muy fácil de acceder 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.

Esuus
fuente
Usaste github como etiqueta. Github es muy agradable, ¿tienes dinero para un repositorio privado?
Recomiendo SourceAnywhere Hosted. Es muy intuitivo usar el producto. En realidad, si busca el control de versiones, encontrará muchas buenas sugerencias / herramientas. Si desea acortar la curva de aprendizaje, además del producto en sí mismo, tenga en cuenta el "buen servicio al cliente" al elegir un producto. Porque significa que tendrá una buena capacitación y soporte técnico de la empresa.
Ventoso

Respuestas:

12

Usted ya sabe 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 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 leyeran Pro Git y configuraran un repositorio privado de git para su equipo.

Craige
fuente
2
No tengo la opción de elegir otros desarrolladores ni que aprendan el control de versiones. Confía en mí, preferiría ambos. Pero no puedo, esa es la razón por la que hice esta pregunta. Hay muchos desarrolladores aficionados por ahí, ¿qué usan?
Esuus
66
Aprenden las herramientas adecuadas o se mantienen junior para siempre.
Adrian Schneider
2
@Esuus No toma tanto tiempo aprender git: try.github.com/levels/1/challenges/1
VirtuosiMedia
3
@VirtuosMedia No creo que Git sea exactamente simple, SVN es mucho más fácil de entender.
Matěj Zábský
1
No sé acerca de Git, pero TortoiseSVN hace que sea muy fácil para los usuarios inexpertos tratar con SVN.
Brian
4

... FTP

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

Un IDE en línea

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

... prueba Mercurial

Si no encuentra que Git sea lo suficientemente accesible para sus compañeros de trabajo, pruebe Mercurial con TortoiseHG, que es un cliente GUI para Mercurial. Tardarán dos minutos en configurarse y menos en comenzar a usarlo.

Pídales que usen la GUI, solo tienen que aprender a usar 4 botones (extraer, actualizar, confirmar, presionar) 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 tengan que lidiar con la fusión. Usted realiza la integración y solo les pide que emitan solicitudes de extracción de su bifurcación de Bitbucket una vez que hayan presionado. Pídales que extraigan solo de su repositorio (del que se bifurcaron).

Aprenda Mercurial usted mismo para que pueda resolver todos los problemas relacionados, este es un buen comienzo: http://hginit.com/

Prueba ambos

Puedes usar Mercurial de Cloud9, ¿qué tan genial es eso?

Deja de asumir

Si usted es el que busca usar las herramientas correctas, ya está 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.

Sé entusiasta al respecto y no condescendiente.

Realmente no hay nada más fácil que esto si quieres hacer las cosas bien. Si expresamente no quieren usar el control de versiones, entonces podría tener otro tipo de problema más serio.

dukeofgaming
fuente
Siento que esta es la mejor respuesta, ya que es la única que realmente responde la pregunta en lugar de patrocinar al autor de la pregunta. Especialmente aprecio los consejos sobre cómo hacer que Mercurial sea más fácil para las personas (quitando la fusión e integración de sus manos). Esta parece ser la forma más fácil de controlar la versión con personas que dudan en participar. ¡Gracias!
dallin
3

Recomiendo a sus desarrolladores a http://try.github.com

Pero si no es posible el control de la versión, puede quedarse con algo apropiado 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 poder hablar y saber quién está trabajando
  3. Todos editan en vivo en el servidor DEV a través de FTP antiguo
  4. Hacer cumplir las reglas del equipo sobre la actualización de un registro de cambios con sus revisiones + hacer 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 puede configurar el crontab para realizar revisiones automáticas de vez en cuando automáticamente o simplemente puede instalar una copia de seguridad o sincronizar la carpeta a otra ubicación de copia de seguridad para cuando se sobrescriben los archivos de los demás (como sucederá) y debes darle a Bob los cambios que perdió. Finalmente, después de trabajar con el sistema durante unos meses, le rogarán que les dé acceso a svn / git.

Anthony Hatzopoulos
fuente
Aunque todas las respuestas aquí fueron útiles (y debido a ellas, ahora estoy considerando seriamente si hay una manera de hacer que aprendan GIT / SVN), usted es el único que realmente respondió mi pregunta. Gracias hombre.
Esuus
2

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

Debe corregir esa suposición 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, esto es para lo que sirve el control de versiones. Git es probablemente el mejor camino a seguir, y Learn Git es un muy buen punto de partida.

Amy
fuente
2

Bueno, no hay otra salida que usar el 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 nueva simplemente reemplazará a la versión anterior, lo que no es deseable para el control de versiones 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 puede 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 git local.

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

Ozair Kafray
fuente
Dropbox tiene una ventaja: puede hacer que las personas lo usen y que nunca hayan usado sistemas de control de fuente en su vida. Esto puede ser una gran ventaja cuando se trabaja con profesores de ciencias ...
Donal Fellows
GitHub también tiene repositorios privados si no desea hacer público su código.
VirtuosiMedia
@VirtuosiMedia Sí, lo sé, pero no estoy seguro de si son gratuitos.
Ozair Kafray
@OzairKafray No son gratuitos, pero son bastante económicos. El plan más pequeño le ofrece 5 repositorios privados por $ 7 / mes, más público ilimitado.
VirtuosiMedia
2

Estás en el buen camino

El version controllinges el camino a seguir! Servirá bien para compartir código compartido y ayudar con la integración. Además, los controles frecuentes son una disciplina muy importante que todo el equipo necesita practicar.

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

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

Yusubov
fuente