Introducción a GIT

Vamos a empezar con un poco de introducción. El control de versiones es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante.

Existen diferentes modos de enfocar el control de versiones, las más populares son un repositorio centralizado (SVN) o un repositorio distribuido (Git).

Repositorio centralizado

Esto es un lugar donde se almacena el proyecto en su totalidad. Así los clientes se conectan al repositorio central y pueden descargar el código o hacer commits (enviar sus cambios) hacia él.

 

Repositorio distribuido

Cada cliente tiene una copia local de todo el proyecto, es decir todo el histórico, etiquetas, ramas,… Así los clientes pueden hacer commits parciales, y pensar en una funcionalidad por rama.


Explicando GIT con un ejemplo

Creo que la mejor forma de aprender es viendo ejemplos. Ahora explico una de las maneras de trabajar con Git (existen otras).

Tengo un proyecto que funciona perfectamente en mi repositorio GIT (al proyecto que funciona se le rama master ) y quiero crear una nueva funcionalidad o experimentar algo nuevo. Entonces hago esto:

>git branch experimento1
>git checkout experimento1

He creado una rama nueva y en esta rama puedo hacer lo que quiera como crear la kill feature de mi proyecto 😉 Incluso puedo hacer commits por si la lio en esta nueva rama.

Sigo trabajando y si al final veo que este experimento me gusta puedo integrarlo con la rama master así:

>git checkout master
>git merge experimento1

Pero puede que los cambios no me gusten, o que quiera dejar de momento el proyecto sin el nuevo experimento. Entonces solo tengo que hacer:

>git checkout master
>git branch -D experimento1

*Existen otros Sistemas de control de versiones distribuidos (DVCS) como mercurial o Bazaar pero más o menos se basan en los mismo principios.

Razones por las que usar git

  • Porque necesito usar un control de versiones en mi proyecto.

  • Se habla de las ventajas de Git frente a subversion, creo que la mayor ventaja es que está de modo y si lo uso molaré más  ¿no?

-Es rápido, o eso dicen, mi proyecto no tienen tanta envergadura como para hacerlo.

-Me gusta el manejo de branches (escribiré otro post)

-Porque está github (una forja muy molona 😉

Referencias

http://git-scm.com/book

http://bicosyes.com/2008/06/git-%C2%BFmerece-la-pena/

http://blog.marcoscrispino.com/2011/06/subversion-vs-git.html

http://nvie.com/posts/a-successful-git-branching-model/

Imágenes de: http://javisantana.github.com/slides/git-svn

Anuncios

Un comentario sobre “Introducción a GIT

Comenta la entrada

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s