Edición queueborativa de código

Trabajo para una pequeña empresa de desarrollo web (6 personas) y hemos estado en el mercado para un nuevo editor de código / entorno de desarrollo durante bastante time.

Actualmente, estamos utilizando el lado de encoding de Dreamweaver (CS3) para el desarrollo de nuestro sitio. Los files de cada sitio están alojados en un server ftp Dreamhost. Todos los 6 de nosotros trabajamos en el mismo set de files en vivo en el server ftp remoto. Dreamweaver tiene una práctica funcionalidad de locking de files que nos impide sobreescribir los cambios de los demás al mantenernos fuera de los mismos files.

Ahora, hemos descubierto que esta forma de desarrollo permite un desarrollo muy rápido y nos encanta lo fácil que es hacer las cosas. Sin embargo, hay muchas cosas que no nos gustan. Uno de los cuales es el editor de código de Dreamweaver. Tampoco nos gusta nuestra falta de historial de códigos para cada sitio.

¿Alguien sabe de una buena alternativa a Dreamweaver que tiene una funcionalidad similar de locking de files / ftp?

Si no, ¿podría explicarme la mejor configuration de un sistema de control de fuente para nuestro equipo? Estamos dispuestos a mirar GIT, Mercurial y Subversion. El nuevo sistema idealmente:

1). Admite múltiples editores de código diferentes en diferentes sistemas operativos. (Primera opción de Windows)

2). Sea casi tan fácil y rápido para expulsar el código como actualmente.

3). Permitir trabajar en los files fuera de la networking de la oficina.

4). Ser de bajo costo

Probablemente estoy mostrando mi ignorancia sobre cómo usar un sistema de control de versiones, pero no parece lógico que cada uno de nosotros tenga un server de testing en nuestras computadoras con cada installation de sitio con nuestra propia database de testing … Eso es consume mucho time

¿Cuál es su solución a nuestro problema? Creo que tendremos que actualizar a la última versión de Dreamweaver y conservarla para siempre, o tendremos que encontrar algún tipo de editor de queueboración ftp, o tendremos que implementar el control de versiones.

¿Los beneficios del control de versión superan la cantidad de time adicional que implica extraer el código?

no parece lógico que cada uno de nosotros tenga un server de testing en nuestras computadoras con cada installation de sitio con nuestra propia database de testing … Eso lleva mucho time.

Esa es generalmente la manera de hacerlo. La mayoría de los frameworks modernos le permitirán configurar su server de desarrollo en minutos, si no en segundos, utilizando un server http incorporado y una database, por ejemplo. Si estás atrapado en una plataforma antigua, existen soluciones como wamp que son solo un poco más difíciles. Restring que es hora de gastar una vez, pero te permite ser más rápido. Si el proyecto va a tomar más de unas pocas horas, debería ser beneficioso. No pierdas el time depurando las cosas que tu compañero desarrollador acaba de cambiar, o recuperando datos de producción de ese tonto error de manipulación de la database que acabas de hacer.

(Ah, y si sus sitios web son simplemente HTML + JavaScript, entonces no necesita ningún server local, obviamente).

En cuanto a los sistemas de control de versiones, los que usted mencionó están bien, con SVN requiriendo un poco más de configuration y acceso de networking al server central para las confirmaciones. Git y Mercurial te permiten trabajar y comprometerte sin connection, y luego enviar tus cambios al server central o incluso simplemente intercambiarlos entre desarrolladores. Creo que Mercurial funciona mejor en Windows en este momento.

Michael, escucho tu dolor.

No puedo decir que haya investigado todas las vías, pero realmente he comenzado a amar a Git recientemente.

Mi primer obstáculo fue aprender cómo funcionan los sistemas de control de revisión (RCS). Antes de elegir SVN vs Git vs HG vs Bazzar vs etc., evalué lo que quería hacer. Y eso fue para trabajar localmente, luego compartir mi trabajo e ingresar a un server web.
Encontré este gran website de comparación: http://whygitisbetterthanx.com

De eso pude ver claramente que Git valió la pena el time para aprender. Como aprendiz atrasado que soy, me sumergí en un proyecto y aprendí lo rápido que las cosas podían volverse desorderadas, entonces comencé a leer: http://gitready.com/ y http://book.git-scm.com/ y http: / /progit.org/book/

Entonces me di count de que necesitaba una estrategia organizacional. Fui a search y encontré algo que a mí (y a muchos otros) les gustó: http://nvie.com/posts/a-successful-git-branching-model/

Este es también un gran recurso: http://danielmiessler.com/study/git/


Hay un poco de una cartilla. Déjame intentar responder tus preguntas más directamente.

1.) Git es una herramienta de command-line. Para Windows hay cygwin. Encontré la documentation en github como la mejor. Incluso si no planea usarlos para el alojamiento de código. Eche un vistazo a http://help.github.com/ Use el enlace de installation de git para comenzar.

2.) Desde que pides versiones, hay un poco más de trabajo. Es un model diferente, una forma diferente de pensar. En lugar de no poder editar el file que actualmente es lo que sucede, sus confirmaciones pueden colisionar, y en ese caso, Git proporciona herramientas de gran diferencia para ayudar a resolver el conflicto.

3.) Git es lo que se llama DCVS o sistema de control de versiones distribuidas. Aquí hay un ejemplo: digamos que necesita hacer algo de trabajo durante el fin de semana. Haces una copy del server antes de salir del trabajo. En casa, puede continuar trabajando, crear nuevas sucursales, etc. Luego, cuando tenga una connection a Internet, puede volver a enviar sus cambios al server.

4.) ¡Git es gratis!

En cuanto a llevar tu trabajo al server web necesitarás configurar algo como esto: http://toroid.org/ams/git-website-howto
Parece bastante fácil, voy a probarlo el próximo fin de semana.

Espero que encuentre algo de lo que escribí útil, si no tal vez los enlaces son.

    Intereting Posts