El uso de aplicaciones web crece día a día como así también su tamaño, es por esto que es normal que en proyectos de este tupo, se involucre a numerosos desarrolladores con diversas habilidades para terminar el producto a tiempo. Este es el motivo por el cual se utiliza esta herramienta. Todos los ficheros relacionados al proyecto se alojan en el repositorio el cual se encuentra en un servidor remoto. Cada vez que cualquiera de los integrantes del grupo realiza un cambio, lo envía al repositorio, el cual luego podrá ser descargado por el resto de los integrantes del equipo.
Estos son alguno de los beneficios que obtenemos al utilizar esta herramienta:
- Varios usuarios pueden editar el mismo archivo simultáneamente. Todos pueden trabajar sin interrupciones en su copia local, luego, a la hora de enviar los cambios, el sistema brindará herramientas para integrarlos al repositorio sin sobrescribir los realizados por otro desarrollador.
- Asociar las modificaciones a una tarea. Cada vez que se envían cambios al repositorio se pueden asociar a una tarea en particular (ej: desarrollo de una nueva funcionalidad, modificación, solución de un bug, etc).
- Se puede volver a versiones anteriores. En cualquier momento se puede volver a cualquier versión anterior del producto.
- Se tiene un historial de los cambios realizados en el repositorio. Útil en caso de que no recordemos que archivos se modificaron en una tarea en particular. Se cuenta con un historial de todos los cambios enviados y para cada uno cuales archivos fueron modificados.
- Permite obtener métricas. Útil para medir la calidad y cantidad de trabajo realizado en una unidad de tiempo.
- Restringir lectura/escritura de directorios. Permite configurar permisos de escritura y lectura sobre cada directorio a diferentes usuarios. De esta manera solo se dan accesos según el perfil y el tipo de tareas a realizar por cada integrante.
- Backup. Todas las versiones del producto están alojadas en el servidor remoto. Solo basta con que el administrador del mismo se encargue de realizar el respaldo del repositorio.