git/hub

Git

Git es un control de versiones, El diseñador web sobre todo, debe mantener cada versión de su proyecto, para poder recuperar un estado anterior, Git es un gestor de proyectos muy eficaz.

Un sistema de control de versiones en inglás VCS (Version Control System) es una elección muy sabia. Te permite volver a recuperar archivos a un estado anterior, o revertir el proyecto entero a un estado anterior, también nos sirve para comparar cambios a lo largo del tiempo y ver quién y cuando se realizaron esos cambios.

Por un bajo coste obtienes grandes beneficios ya que si estropeas o pierdes archivos, puedes recuperarlos fácilmente.

Como realizamos habitualmente el control de versiones, copiar los archivos en una nueva carpeta y si somos listos, indicamos la fecha y hora de esta copia. con este sistenma es fácil equivocarse. Para solucionar estos problemas surge la necesidad de sistemas de control de versiones locales. Estas herramientas, guardan las diferencias entre los archivos de una versión a otra y poder recrear como era el archivo en ese momento sumando las sucesivas modificaciones hasta ese momento, igual que funciona la historia del Photoshop.

Cuandom varias personas trabajan sobre el mismo proyecto, es necesario emplear sistemas de control de versiones centralizados, CVCSs en inglés (Centralized Version Control Systems). Estos sistemas tienen un único servidor que contiene todos los archivos versionados, y los usarios descargan los archivos desde ese lugar central. Tienen el inconveniente de depender todos de un mismo servidor.

Surge entonces el Sistema de Ciontrol de versiones Distribuido, DVCSs en inglés (Distributed Version Control Systems) como Git, los usuarios replican en sus ordenadores completamente el repositoro central. Cada vez que se descarga el proyecto, es una copia de seguridad completa de todos los datos.

Cómo funciona Git

Cada vez que guardas el estado del proyecto, Git guarda una instantanea completa de todo el proyecto, incluso si los archivos no se han modificado, Git guarda enlace al archivo anterior idéntico que ya tiene almacenado.

Los archivos en Git tienen tres estado: confirmado (committed), modificado (modified), y preparado (staged). Confirmado significa que los datos están almacenados de manera segura en tu base de datos local. Modificado significa que has modificado el archivo pero todavía no lo has confirmado a tu base de datos. Preparado significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.

Directorio de trabajo (working directory)

  • directorio con la versión del proyecto sobre la que estamos trabajando

Área de cambios o índice (staging area, index)

  • Ficheros indexados para la próxima versión
  • suele incluir ficheros modificados, borrados o nuevos
  • ”git add ....” añade al índice
  • ”git commit ....” crea una nueva versión

Repositorio GIT (Directorio oculto “.git”)

  • contiene todas las versiones del proyecto
  • “git checkout ....”
  • reconstruye cualquier versión del proyecto en el directorio de trabajo (working directory)