¿Qué sistema de control de versiones preferirías para HTML, CSS, desarrollo de Javascript para un equipo pequeño de Desarrolladores?

¿Qué sistema de control de versiones sería bueno para HTML, CSS, desarrollo de Javascript para 4 desarrolladores?

Somos 4 desarrolladores, todos en diferentes países y todos tenemos diferentes sistemas operativos. 2 Los desarrolladores tienen Macbooks, uno tiene Windows 7 y otro tiene Ubuntu 9 Linux)

En algún momento en la location remota también realizamos algunos cambios en el código usando iphone y ipad usando FTP On The Go PRO

Y en algún momento, algún lugar de Internet no está disponible, por lo que también trabajamos sin internet.

Quiero saber cuál es el sistema de control de versiones preferido para nosotros que debe ser accesible desde todos los dispositivos y sistemas operativos. Y debería funcionar fuera de línea también. Y cómo configurar un proyecto.

Editar:

Recibí este consejo dentro de http://beanstalkapp.com/

enter image description here

Mi preference personal es Mercurial .

Hemos utilizado esto en proyectos con una gama de miembros de equipo que abarca 4 o más países.

Mercurial es un sistema de control de fuente distribuido, lo que significa que cada desarrollador tendrá su propio repository en su máquina y se desplazará a una location central cuando sea posible (en su caso, cuando haya una connection a Internet disponible).

Dado que este es el caso, también hace posible que los desarrolladores puedan empujar / tirar hacia / desde una máquina más a través de la networking. Su colega puede hacer cambios y puede sacarlos directamente de su máquina en la networking.

Rob Connery también escribió un artículo sobre el uso de Mercurial y la command-line. Es una reference bastante buena para los commands simples y explica los beneficios de usar la línea de command sobre una herramienta visual:

Las herramientas visuales lo harán ir a ciegas

GIT funciona bien. Puede tener un proyecto GIT en GitHub , por ejemplo. Es gratis si el proyecto es de código abierto. GIT es un sistema de control de versiones p2p. Todos tienen el historial completo de compromisos. Puede sincronizar los repositorys cuando tiene time …