Los VCS (Sistemas de control de versiones por sus siglas en inglés) son herramientas que permiten controlar distintas versiones de código fuente. Estos sistemas deben poseer la capacidad de almacenar todas las versiones que se deban gestionar, de rechazar algún cambio ya hecho y llevar un registro histórico de los cambios. Algunos ejemplos son Git, Mercurial o Bazaar.

Estos sistemas ayudan a los desarrolladores (aunque no sólo a ellos) a trabajar de manera libre en cada uno de los archivos. Esto evitaría que todos trabajen en una carpeta compartida y se estén avisando en cada momento que X persona está trabajando en Y archivo y que los demás no editen ese Y archivo. También permiten rechazar cambios que no resultaron y volver a un estado anterior. Siempre es bueno también en cada cambio que realices indicar qué se realizó con una descripción. Estos sistemas se caracterizan mucho por llevar el control de qué persona realizó algo en el proyecto.

En los VCS, las palabras que más se usan son commit, push, pull, repositorio y merge. A continuación, se describirá brevemente a qué se refieren:

  • Commit: Es escribir o unir cambios en el repositorio
  • Repositorio: es donde están los archivos del proyecto y donde se guarda toda la información histórica del mismo.
  • Push y pull: Realizan copias de un repositorio a otro. Cuando es pull, se realiza la copia desde el repositorio y cuando es push, es desde un local hacia el repositorio
  • Merge: Un merge es cuando se realizan distintos cambios en el mismo archivo. En algunas ocasiones esto lo resuelve la herramienta de VCS aunque a veces toca revisarlo manualmente.

Puedes empezar a aprender un sistema de VCS como Git en el siguiente  link