Git es una herramienta para colaborar en la edición de ficheros de texto. En este post veremos una pequeña introducción.
Características principales
Git es una herramienta muy completa pero tiene dos usos principales: la generación de versiones y el control de cambios.
Generación de versiones
Una vez que hemos terminado de editar los documentos y decidimos generar una versión, añadimos una etiqueta para marcar ese estado de los documentos con una versión. Posteriormente podemos seguir editándolos, y la versión quedará guardada (como si fuera una fotografía que se tomó en ese momento).
Control de cambios
Git nos permite revisar qué cambios se han ido haciendo a los documentos. De ese modo todos las personas que contribuyen en la edición de estos documentos pueden ver sus propios cambios y los que han hecho las otras personas.
Tecnologías similares
Git está diseñado como un sistema distribuído. Esto quiere decir que todos los usuarios tienen una copia de los datos con la que pueden trabajar off-line y grabar en los servidores de datos la información en el momento que quieran. Al contrario, con los sistemas centralizados, los usuarios necesitan estar conectados al servidor de datos para grabar la información.
Algunas tecnologías similares son:
- Subversion (centralizado)
- Mercurial (distribuído)
- CVS (centralizado)
- StarTeam (centralizado)
- ClearCase (centralizado)
Conceptos importantes
Para comprender cómo funciona Git, hemos de hablar de varios conceptos fundamentales:
Localizaciones
Existen tres localizaciones principales:
- Directorio local de trabajo: Es la carpeta local donde trabajamos en nuestro disco duro.
- Escenario: Es un lugar donde se dejan los documentos que hemos modificado y que están listos para grabar en el servidor remoto.
- Directorio remoto del servidor de datos: Es el lugar del servidor Git (también se llama “repositorio”) donde otras personas podrán revisar nuestros cambios.
Operaciones
Hay varias operaciones básicas para utilizar Git. Existen más comandos pero estos son los básicos:
- Status: Mediante este comando sabremos el estado de nuestros documentos (si están o no en el escenario).
- Add. Sirve para añadir al escenario uno o varios archivos.
- Commit: Sirve para hacer una foto al escenario (sería una agrupación de cambios).
- Push: Lo utilizamos para subir al servidor las fotos que no hayamos subido previamente.
- Pull: Sirve para descargar las fotos del servidor de datos (repositorio) a nuestro disco local.
So, what do you think ?