GrafitoDesigns Co Freelance en Diseño Web, Usabilidad y Programacion Web

14Oct/090

Tu Repo Gratis con Github

Git es un Sistema de Control de Versiones(VCS), pero que el Contr ol de Versiones y como puede ayudarnos?

logov3El control de versiones es un sistema que registra los cambios de los archivos dentro de un proyecto en cada instante,esto nos permite obtener una version especifica de algun archivo. Un ejemplo sencillo, Wordpress guarda versiones cada vez que dejas de escribir por 10 seg. para hacer un autoguardado versionado y no perder lo que estas escribiendo. Y podriamos recuperar cada una de las versiones del autoguardado e incluso compararlas para que que fue lo que cambio… Pues de manera general mas o menos asi funciona un Versionado de Codigo nomas que esta mas orientado a manejar proyectos de desarrollo de software.

Un Control de Versiones nos ayuda a revertir cambios a un estado anterior, revertir el proyecto entero a una version funcional, comparar cambios a cada instante, ver las ultimas modificaciones o revisiones, manejar proyectos en equipos de trabajo (Commiters and Editers) y muchas otras caracteristicas que no se dicutiran en este Post.

Sin embargo, para poner en practica el versionado de un proyecto podemos utilizar github.com, este es un servicio gratuito y comercial que nos permite crear repositorios publicos y privados de nuestros proyectos. Utilizan el API de Git para gestionar los archivos con el servicio REST de github y es una manera muy sencilla de aprender a gestionar tus proyectos.

Cuales son los Requisitos para implemetar github.

  • Crear una cuenta gratuita en http://github.com/
  • Instalar git
  • Aprender sobre Git y sus Comandos.

Crear Cuenta github y Generar SSH Key

Creamos una cuenta en github, proporcionando la informacion que nos soliciten, en la cuenta gratuita nos dan 300mb para pruebas.

Luego abrimos la terminal (Linux o Mac) y generamos una clave de SSH para validar el acceso a nuestro repositorio. Para esto agregamos el siguiente codigo.

$ ssh-keygen -t rsa -C "tumail@tuserver.com"

Esto nos responde y cuando nos pida “passphrase” escribimos nuestro password privado para la clave:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/arthurolg/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/arthurolg/.ssh/id_rsa.
Your public key has been saved in /Users/arthurolg/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db tumail@tuserver.com

Seguido de esto escribimos lo siguiente, para que nos muestre la clave.
cat /Users/arthurolg/.ssh/id_rsa.pub

Copiamos la clave y nos vamos al github.com y en el menu entramos en Account Settings, y nos vamos a la seccion de SSH Public Keys, le damos click en agregar, en titulo ponermos el correo y en key pegamos la llave generada en el archivo id_rsa.pub.

Screenshot

Instalando Git

En mi caso tengo una MacBook asi que utilice macports.

  1. Instalar MacPorts que es un instalador de aplicaciones tipo el apt-get o aptitude de Ubuntu solo que para Mac.
  2. Asegurarse que los ports esten actualizados al dia.
  3. Instalar Git mediante el siguiente comando:

$ sudo port selfupdate

MacPorts base version 1.600 installed
Downloaded MacPorts base version 1.600

The MacPorts installation is not outdated and so was not updated
selfupdate done!

$ sudo port install git-core +svn
--->  Installing curl 7.18.2_0
--->  Activating curl 7.18.2_0
--->  Installing openssh 5.0p1_0+darwin_9
--->  Activating openssh 5.0p1_0+darwin_9
--->  Installing p5-error 0.17012_0
--->  Activating p5-error 0.17012_0
--->  Installing popt 1.13_0
--->  Activating popt 1.13_0
--->  Installing rsync 3.0.2_0
--->  Activating rsync 3.0.2_0
--->  Installing git-core 1.5.5.3_0+doc
--->  Activating git-core 1.5.5.3_0+doc

o en caso de tener linux simplemente hay que poner
sudo apt-get install git-core

Creando el Repositorio

Ahora nos toca crear el repositorio en github, en el Dashboard damos click en la opcion New Repository; Ahora llenamos la informacion de nuestro proyecto (titulo, descripcion y url) y damos click en create repository.Screenshot-1

Ok hasta este punto nos aparecen las opciones de configuracion siguientes:

Global setup:

  Download and install Git
  git config --global user.name "arthuro lopez gomez"
  git config --global user.email arthurolg@gmail.com

Next steps:
  mkdir pyzen
  cd pyzen
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:arthurolg/pyzen.git
  git push origin master

Existing Git Repo?
  cd existing_git_repo
  git remote add origin git@github.com:arthurolg/pyzen.git
  git push origin master

Creamos nuestra Aplicacion de Ejemplo

Apartir de ahora es puros comandos en la terminal asi que abrimos la terminal.

Configuramos nuestro entorno git con github.com

$git config --global user.name "arthuro lopez gomez"
$git config --global user.email arthurolg@gmail.com

Creamos la aplicacion grails de ejemplo
$rails psnix

Accedemos al directorio
$cd psnix

Creamos nuestro repositorio local en blanco
$git init

Creamos un archivo de configuracion para omitir archivos que no queremos subir al repo.
$vi .gitignore

En mi caso, omito la informacion de la base de datos, los logs y los temporales, mi archivo queda asi.

config/database.yml
logs/*
temp/*

Guardo el archivo y ahora agregamos los archivos para el commit

$git add .

Creamos el primer listado de archivos para el commit
$git commit -m 'primer commit con el esqueleto de rails'

Le decimos a git donde esta el servidor del repositorio.
$git remote add origin git@github.com:arthurolg/pyzen.git

Sube los archivos al branch Master.
$git push origin master

Una vez que termine de subir los archivos vamos a github.com y podremos ver el Branch Master con nuestro comentario.

Tambien tenemos la informacion del commit, del tree (arbol) y el listado de los archivos que subimos.

Ahora probamos la actualizacion de archivos, modificamos el archivio config/rules.rb, le borramos los comenatios y guardamos el archivo.

Y tambien creamos un archivo que se llame AUTHOR con vi AUTHOR y le agregamos cualquier cosa… guardamos y

Corremos el siguiente comando para verificar los cambios:

$git status

y nos regresa lo siguiente:
# On branch master
# Changed but not updated:
#  (use "git add ..." to update what will be commited)
#  (use "git checkout -- ..." to discard changes in working directory)
#
#     modified: routes.rb
#     .......................
# Untracked files:
#  (use "git add ..." to update what will be commited)
#
#      AUTHOR
#      ......................

Ok aqui nos arroja todas las modificaciones o nuevos archivos.

Ya solo tendriamos que incluir el Archivo AUTHOR

$git add AUTHOR

y entonces hacemos commit al codigo.
$git commit -a -m 'Primer Commit de Codigo'
$git push origin master

Y listo ya tendriamos nuestro esqueleto de Rails en el Repositorio, por ahora es todo en esta breve introduccion a github. Cabe mencionar que github es el repositorio de proyectos como: Rails, Scriptaculous, Cucumber, Blueprint, Compass entre otros miles de proyectos.

Comparte esta informacion en tu Red Social:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • N4G
  • Tumblr
  • Twitter
  • Add to favorites
  • email
  • Live
  • Reddit
  • RSS
  • Technorati

About arthurolg

I am a UI Designer, front-end engineer, icon designer, logo and website designer. I have passion for making the web beautiful and creating every design to pixel perfection.