El control de versiones es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo de tal manera que sea posible recuperar versiones específicas más adelante. Existen muchos Sistemas de Control de Versiones siendo algunos de los más conocidos CVS, Git, Subversion, Mercurial y Baazar.
Git es un sistema de control de versiones diseñado en el 2005 por Linus Torvalds. Git monitorea los cambios realizados en nuestro proyecto si agregamos o cambiamos líneas de código
- Velocidad y eficiencia: Git es capaz de gestionar desde pequeños hasta grandes proyectos de software.
- Git es fácil de aprender
- No genera copias del último estado del código, sino que realiza un clon completo del repositorio.
- Git es libre y de código abierto
- Commited: Archivos que se encuentran almacenadas de manera segura en la base de datos local.
- Modified: Archivos que han sufrido cambios pero a´un no han confirmados para guardarse en la base de datos local.
- Staged: Archivos modificados que han sido marcados en su versión actual para que vayan a la próxima confirmación (commit) y se pueden almacenar en la base de datos
- Working Directory: Donde se edita y trabajan los proyectos
- Staging area: Donde se escoge que archivos están listos para pasar al tercer estado; también se elijen los que no están listos.
- Repository: Donde se registra todo nuevo proyecto.