control de versión para novato

Soy bastante nuevo en progtwigción y desarrollo web y hasta ahora no he trabajado en proyectos que creía que fueran lo suficientemente grandes como para garantizar el uso de un control de versión adecuado. Sin embargo, ahora estoy trabajando en un proyecto que se está haciendo cada vez más grande (¡muy emocionante!). Creo que sería prudente usar algún tipo de control de versión. Por el momento, trabajo solo, pero si este proyecto llega a donde quiero, espero que en algún momento necesite (¡y quiero!) Que participen otras personas. Mi problema es porque nunca he usado control de versiones, realmente no sé qué es, cómo funciona, etc.

Espero que esta pregunta no esté clasificada como subjetiva. No estoy pidiendo a las personas que me digan qué control de versión creen que es mejor, estoy bastante feliz de pasar algún time buscando y probando por mí mismo.

Realmente quiero que algunas personas me den un vistazo rápido de cómo funciona un sistema de control de versiones estándar (sé que todas serán diferentes, pero estoy hablando de lo básico aquí) y si es posible, de forma no subjetiva manera de explicar las diferencias entre algunos de los jugadores principales. es decir, ¿cuál es la diferencia entre mercurial y git, no cuál es mejor? ¡Lo decidiré por mí mismo, gracias!

Aquí tienes una pregunta similar: ¿Cuál es la diferencia entre todos los diferentes types de control de versión? .

Respuestas de Wikipedia: http://en.wikipedia.org/wiki/Revision_control

Sin embargo, debe tener en count que leer acerca de VCS es bastante inútil hasta que lo haga usted mismo. Nunca entendí este concepto DVCS (Sistema de control de versiones distribuidas) hasta que comencé a usarlo. Tuve una experiencia similar al tratar de descubrir los beneficios de usar SVN, Mercurial y Git, todo quedó claro cuando comencé a utilizar sus mejores prácticas.

Si trabaja solo, ¿puede funcionar el model distribuido?

Uso Subversion para mi propio trabajo en casa.

Creo que el libro rojo de frijoles de Subversion es una gran lectura general sobre cómo usar el control de versiones: ramificación, labeldo, etc. Vale la pena leer un poco, incluso si no eliges Subversion.