Buscando un control de versión fácil de instalar para el desarrollo de sitios web

Soy un diseñador / desarrollador web independiente. La mayor parte de mi trabajo es build sitios web básicos de WordPress, pero también hago un poco de desarrollo personalizado en PHP. Tengo un cliente más grande que hago un montón de desarrollo personalizado en curso, ya que continuamente están tratando de mejorar su website. Soy el único desarrollador web que trabaja en este sitio. Últimamente tengo que pensar que realmente necesito configurar algún tipo de sistema de control de versiones para trabajar en este website porque es importante poder averiguar fácilmente qué ha cambiado y cuándo fue cambiado en caso de que algo salga mal en el sitio y para poder retroceder fácilmente a un estado anterior. El sitio se ejecuta en un server Apache. Tengo acceso de shell pero no estoy realmente cómodo en ese entorno de command-line de unix / linux. Hago mi desarrollo en mi PC con Windows local y la transfiero al sitio FTP. Tengo un website de desarrollo en el que trabajo al desarrollar nuevas funciones. Yo envío mi código FTP al server de desarrollo mientras lo trabajo, y una vez que haya probado mi código y esté listo para hacerlo en vivo, lo enviaré al sitio en vivo. Lo que estoy buscando es algo que es muy simple de configurar y no agregará mucha sobrecarga a mi process existente. No soy un tipo de línea de command, así que me gustaría una buena guía. Investigué un poco y me sentí un poco molesto porque no solo se trata de elegir un sistema de control de versiones sino también cómo configurarlo para mi propósito. No sé si debería tener un sistema que sea local en mi máquina y continuar usando FTP para actualizar los sitios web o si debería tener algo más integrado con el server. Entonces, lo que busco no es solo elegir una solución de control de versiones adecuada, sino también cómo configurarla para mi escenario. es decir, necesito un process y un sistema de control de versiones. Para recapitular mis necesidades en forma de punto:

  • La principal necesidad de control de versiones es que pueda determinar fácilmente qué ha cambiado y cuándo ha cambiado
  • Fácil de configurar para mi entorno (Desarrollo en PC con Windows, website de desarrollo y website en vivo en el server LAMP). Necesita una guía fácil de seguir para configurar.
  • GUI fácil de usar

Para un diseñador, o alguien que no quiere ensuciarse las manos, recomiendo Bazaar (http://bazaar.canonical.com/), sin dudas. Es fácil de usar y tiene al less una buena GUI (llamada TortiseBZR). Funciona igual de bien en Windows y Linux, y (TortiseBZR) incluso agrega funcionalidad al shell de la window: brinda icons personalizados para files modificados y menus contextuales. Fue el primer VCS que probé, y fue diseñado teniendo en count al principiante.

git es increíble y funcional, pero en su mayoría es línea de command. svn Todo lo que tengo que decir es, bienvenido al siglo XX. Está desactualizado y es difícil de usar. hg es casi como git, pero tal vez con una mejor interfaz gráfica de usuario? No he intentado usarlo, mucho.

En function de sus requisitos y comentarios, puedo recomendar lo siguiente:

  1. Control de versiones
    • Servidor VisualSVN (componente del server VCS, se puede instalar en su PC, gratis)
    • TortoiseSVN (componente Client GUI, también instalado en tu PC, gratis)
  2. Entorno de desarrollo (IDE)
    • NetBeans (IDE rápido y rico en características, tiene soporte para múltiples lenguajes de progtwigción incluyendo HTML, JavaScript y PHP, es gratis y de código abierto)

NetBeans tiene un soporte integrado para Git , Mercurial y Subversion por lo que básicamente no tiene que usar ninguna herramienta externa. En lugar de usar Subversion, podría usar Mercurial ( TortoiseHG ), pero para sus necesidades y hábitos, creo que Subversion es más que suficiente (y es más fácil de usar).

Otra característica muy útil que se integra en NetBeans es que puede cargar automáticamente sus files de proyecto en un server web específico, y puede tener más de una configuration de "implementación" (llamada Run configuration ) por proyecto. Puede usar (S) FTP o hacer que NetBeans simplemente copie los files de su proyecto en otra carpeta (utilizada para el server web local).

Si desea IDE aún más avanzado, puedo recomendar de todo corazón JetBrains PHPStorm , que es un producto comercial, pero IMO, vale más que su precio.