¿Estrategia de implementación de desarrollo profesional para un profesional independiente que trabaja en un website?

Soy un profesional independiente y prefiero trabajar en proyectos grandes solo por mi count.

Hasta ahora, he estado usando FileZilla para cargar los proyectos en los que trabajo y después de descubrir los errores, solía editar el file con FileZilla.

Deseo usar SVN (¿o GIT ?, ¿es mejor para este escenario en particular?) Desarrollar y desplegar mis proyectos o implementar las correcciones de errores a medida que los descubro.

No tengo mucha experiencia en el uso de SVN, pero lo he usado ya que he contribuido un poco al desarrollo de WordPress. Recientemente, lancé un sitio y ahora es bastante popular. Uso la estrategia Ctrl+S and F5 para mi desarrollo. Quiero ser un poco más profesionalizado.

¿Cómo configuro SVN local, Eclipse y el server web de producción para usar SVN? Cualquier enlace a un buen tutorial sería de gran ayuda.

Si no está familiarizado con los sistemas de control de revisiones, le sugiero que comience con Subversion para aprender los conceptos básicos y acostumbrarse al flujo de trabajo. Git es muy poderoso, pero puede ser un poco desalentador al principio si nunca antes has trabajado con una herramienta SCM.

La forma más fácil de ejecutar un repository SVN es usar Apache para acceder al repository a través de http o https. Puede encontrar tutoriales en toda la web sobre la configuration de Apache + SVN (ejemplos aquí y aquí ).

Una vez que su repository esté funcionando, cualquier IDE decente le permitirá vincular fácilmente su proyecto a SVN y podrá comenzar a verificar, confirmar, ramificar, etc.

En cuanto a la implementación usando SVN, una estrategia común para proyectos que no necesitan binarys comstackdos (por ejemplo, PHP) es labelr una revisión específica con una label específica, por ejemplo, RELEASE_2011_06_03, y luego verificar esa label específica en el server web de producción. Cuando esté listo para una nueva versión, vuelva a labelr y actualice el server de producción a la nueva label de lanzamiento. Al mantener el código 'en vivo' vinculado a SVN, puede implementar fácilmente versiones nuevas o reversiones a versiones anteriores automágicamente.