git (I)


La semana pasada vi como un buen colega recomendaba el uso de git para tener un control de versiones de una página web. Hablando con él, allí nos pusimos a comentar sobre repositorios, branch, etc. Ahí le dije que intentaría escribir algún post acerca de git y cómo usarlo, ya que desde hace tiempo, lo uso para tener un mejor control de las cosas que se hacen. En este primer post, se hará una introducción a git a nivel teórico, para luego pasar a un nivel práctico en las siguientes entradas.

git es un software de control de versiones, escrito inicialmente por Linus Torvalds, pensado para la eficiencia y la confiabilidad del mantenimiento de diferentes versiones de código fuente u otros archivos. El diseño de git surgió de la experiencia y necesidades de Linus, así como de la necesidad de mantener una gran cantidad de código distribuida entre mucha gente, en donde la rapidez y el rendimiento son importantes.

Las principales características son:
  • Fuerte apoyo al desarrollo no-lineal.
  • Gestión distribuida.
  • Compatibilidad con diferentes sistemas/protocolos ya existentes (http, ftp, rsync).
  • Eficiencia trabajando con grandes proyectos.
Dentro de la nomenclatura git, las partes más destacables son:
  • Repositorio
    Contiene todo el historial de las diferentes versiones en la línea temporal, con las ramas y etiquetas. En git, al ser un sistema distribuido, no existe un único repositorio central, sino que cada copia es un repositorio completo, por lo que suele existir un repositorio local y un repositorio remoto.
  • Rama (branch)
    Una rama es una copia del código principal sobre el que se realizarán determinados cambios y por ello merece un nombre especial. Para verlo más fácilmente, una rama es cada una de las versiones del kernel. Cada rama, cuelga del principal, pero con determinados cambios muy concretos. Por ejemplo, se podría tener una versión de una web y luego realizar una rama para cada implementación final. git facilita la creación de ramas y el trabajar rápidamente con ellas.
  • Etiqueta (tag)
    Una etiqueta es un concepto similar al de una rama, pero sin desviarse de la línea de código principal. Una etiqueta marca un punto concreto al que poder regresar para revertir cambios.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios