Introducción a Git

200 Code
200CodeBlog
Published in
3 min readNov 9, 2017

¿Qué es Git?

Iniciemos por definir qué es Git: Es un sistema de control de versiones, que nos permite gestionar los cambios que hacemos sobre un directorio de archivos completo, o de una manera más sencilla sobre un folder y todos su contenido.

Cada cambio que hacemos, git lo almacena en una base de datos interna, a los cuales podemos acceder en cualquier momento ya sea por una interfaz gráfica o la manera recomenda desde una terminal, existe un comando llamado git log, con el cual puedes obtener los cambios almacenados por git, de este comando hablaremos más adelante.

¿Cómo funciona?

Git almacena instantáneas de un mini sistema de archivos, cada vez que confirmas un cambio lo que git hace es tomar una foto al aspecto de tu proyecto en ese momento y crea una referencia a esa instantánea, si un archivo no cambió git no almacena el nuevo archivo sino que crea un enlace a la imagen anterior idéntica que ya tiene almacenada.

Git es distribuido, no necesitas conexión a internet para avanzar en tu trabajo, lo único que necesitas es tener una copia del repositorio original.

Integridad

Es imposible hacer cambios en un proyecto sin que git se entere, no puedes perder información durante la transición de cambios o sufrir de corrupción de datos sin que git se dé cuenta, esto es gracias a que todo en git es una suma de comprobación antes que se almacene, a esta suma se conoce como SHA-1, que no es más que una cadena de 40 caracteres hexadecimales que se calcula en base al contenido del archivo o a la estructura del directorio, una cadena SHA-1 luce así:

55c996721ded2960fd9b1e9ff18e2b77f8d017df

Git no guarda por nombre de archivo sino por el valor hash de sus contenidos.

Puedes hacer todas las modificaciones que desees sobre un archivo, lo puedes dañar, mientras no confirmes los cambios podrás volver al momento que todo funcionaba, esto hace que puedas realizar tus experimentos con la seguridad de poder recuperar todo si algo sale mal.

Operaciones locales

Todo funciona mediante 3 estados.

  1. Modified: Cambios realizados, pero que aún no se han confirmado en la base de datos local.
  2. Staged: Preparado, el momento en que marcas un archivo modificado para que sea confirmado y almacenado en tu base de datos local.
  3. Committed: Cambios confirmados, en este momento tus cambios ya están almacenados en tu base de datos local.

Conclusión

Git nos permite gestionar cambios en un proyecto mediante un sencillo flujo de trabajo local:

  1. Modificas uno o más archivos en tu directorio.
  2. Luego los añades a tu área de preparación.
  3. Luego confirmas los cambios de los archivos, los cuales se toman del área de preparación y se guardan de manera permanente en tu base de datos local.

El directorio en el que trabajas es una copia de una versión de tu proyecto sobre el cual puedes hacer tus modificaciones (modified), luego las añades al área de preparación (staged) para luego confirmar (committed) lo que tienes preparado (staged) y quedar permanentemente guardado en la base de datos de git.

--

--