Git es un sistema gratuito de control de versiones distribuido con foco en la velocidad. Fue creado por Linus Torvalds para el desarrollo del Kernel de Linux.
Conceptos clave para entender GIT
Si venis de otro SCM como SVN te van a ser muy útiles los siguientes puntos:
- Cuando se crea una nueva versión no se crean deltas de diferencias, sino un nuevo árbol.
- Cada versión del proyecto incluye solamente un manifiesto con las diferencias de cada archivo, es decir de cómo se ve el proyecto en su totalidad en determinado momento.
- Git sólo genera un único directorio para todo el repositorio, en donde almacena toda la información (.git)
- La mayoría de las operaciones son locales
- HEAD identifica la rama a la que se está apuntando en el instante actual.
- Cada directorio de trabajo git es un repositorio completamente funcional y con total capacidad independientemente de si existe acceso a la red.
La forma de trabajo en GIT
Estamos trabajando en un proyecto y vamos a implementar una nueva funcionalidad. Para esto se debe crear una rama con GIT con el nombre que la identifique y nos movemos a ella (branch switching), podemos modificar todo lo que querramos y hacer commits de cosas que pueden no estar estables, total la rama principal no se ve afectada. Una vez que tenemos un código estable y testeado es momento de mezclar nuestra rama con la master (merge) y dejar el proyecto con la nueva funcionalidad agregada.
Branching and merging con GIT
GIT FAQ On Video
http://ava.co.uk/git