Git & GitHub, el sistema de control de versiones de moda y su hosting gratuito
¿Qué es Git?
Git es un sistema de control de versiones distribuido, gratuito y de código abierto que se ha hecho muy popular en los ultimos tiempos.

Fue diseñado por Linus Torvalds (creador de Linux) y se ha hecho popular sobre todo por ser el sistema utilizado para el control de versiones del kernel de Linux.
Algunos proyectos que se estan desarrollando a traves de Git son el propio Git, Linux Kernel, Perl, Eclipse, Gnome, KDE y Android
Las caracteristicas principales de Git son:
- MUY rapido y fácil
- Es un sistema distribuido de control de versiones, es decir que no requiere de un repositorio central (como por ejemplo SVN).
- Cada copia (clone) que hagamos en nuestra maquina (repositorio local completo) es autosuficiente (commits offline).
- Está optimizado para el trabajo con ramas (branches)
¿Qué es GitHub?
Por otro lado tenemos GitHub que es el hosting más grande (y más popular) que hay en la red de repositorios Git (cerca de 1 millon de respositorios públicos).

Ofrece hosting gratuito para proyectos públicos y hosting de pago para proyectos privados.
Algunos proyectos públicos interesantes que puedes encontrar en GitHub son Ruby on Rails, Node.js, jQuery, jQuery UI, Diaspora, Django y Cake PHP
Primeros pasos: Haciendo "Clone" de un Proyecto
El principal motivo por el que habrás oido hablar de Git o de GitHub es por que algun proyecto que te interese estará alojado en GitHub, y quieres bajartelo y trabajar con él en local.
Para hacer esto, lo primero que tendremos que hacer es instalar Git en nuestra maquina y configurarlo para que se entienda con GitHub (nuestro repositorio remoto)
- Bajamos e instalamos la última version de Git
- Generamos una clave SSH y la configuramos en GitHub
- Configuramos nuestra info para que quede reflejada en nuestros commits
$ git clone https://github.com/octocat/Spoon-Knife.git Cloning into Spoon-Knife... remote: Counting objects: 24, done. remote: Compressing objects: 100% (21/21), done. remote: Total 24 (delta 7), reused 17 (delta 1) Unpacking objects: 100% (24/24), done.
Otra cosa que podemos hacer es lo que se llama hacer "Fork" de un proyecto que consiste en crear otra copia remota a partir de la cual trabajar sin afectar al repositorio original. De esta forma puedes crear un proyecto nuevo basado en otro ya existente o trabajar en una nueva feature de un proyecto.

Una vez hecho el Fork, tendremos que hacer clone de nuestra copia particular
$ git clone git@github.com:username/Spoon-Knife.git
Enlaces y más
- ProGit Book
- Git Immersion
- Documentacion Oficial de Git
- CheatSheets de Git
- Conociendo GitHub
- Documentacion oficial de GitHub
Y tu... ¿Que opinas de Git? ¿Y de GitHub? ¿Lo conocias? ¿Cual es tu experiencia con él? ¿Y respecto a otros sistemas de control de versiones como Subversion?
Esperamos vuestros comentarios...
- ¿Te gustó el post? »
- Vótalo (93)
- Añádelo a tus favoritos




Comentarios sobre Git & GitHub, el sistema de control de versiones de moda y su hosting gratuito
Buen blog, contiene información importante gracias por el aporte.