Usando Git & GitHub & Nodester

Sabian que Codeplex ahora soporta Git como DVCS? (https://www.infoworld.com/d/application-development/microsoft-adds-git-support-codeplex-repository-189372?source=rss_application_development) Este chisme me sirve como introduccion a lo que les voy a contar. Hace algunas semanas unos amigos me pidieron ayudar en un proyecto que involucra Node.js, el porque Node.js y no ASP.NET va ma alla de este simple post, aunque en realidad si usaremos ASP.NET en combinacion con Node.js, pero esa es otra historia. Entonces acepte la idea y tome el desafio, con mi conocimiento escencial de javascript & coffeescript emprendimos un par de semanas de arduo trabajo nocturno, pues mi trabajo “normal” me consume la mayor parte del dia y las clases que doy en la universidad un par de horas de la noche, como se imaginaran casi no me quedo tiempo de dedicarlo a mi familia y a dormir, al menos ese par de semanas fue una locura. Pero todo fue excelente pues aunque el proyecto no es la gran cosa “no podemos decir exactamente que es por acuerdos de confidencialidad” para mi fue una oportunidad de aprender nuevas tecnologias y eso hice y aqui, en este espacio, les voy presentando algunas de las aventuras que vivi.

La aplicacion Node.js no es el tema que me trae precisamente a este punto, la aplicacion la programamos en un servidor local y mi aventura comienza cuando debemos encontrar un hosting para la aplicacion, afortunadamente escucho de Nodester que ofrece un servicio gratuito precisamente para Node.js, la unica cosilla que novedosa…. es que usa Git para controlar los cambios en los archivos.

Git es un software de control de versiones, digamos al mejor estilo de comparacion con SVN, Mercurial, etc. (No lo comparo con TFS porque aunque se podria decir que TFS tiene un control de versiones, TFS es mucho mas que solo un VCS). Pero tambien Git tiene sus bondades y es que hace tiempo anduve buscando un VCS que me permita hacer un rastreo de los cambios de mis archivos de modo local, es decir sin tener que instalar un servidor de TFS o un servidor de SVN …. bueno uds me entienden y efectivamente Git permite eso, ademas que trae un interesante concepto llamado Social Coding que va mas alla del Open Source. El concepto, la filosofia y las herramientas de Git me encantaron, despertaron mi interes mas alla de Nodester Smile entonces decidi instalarlo, configurarlo y utilizarlo.

Aqui algunos pasos que segui y algunas de mis recomendaciones para los que tambien se inician:

El libro de referencia perfecta para Git es “Git Pro” de Scott Chacon: http://progit.org/book/, recomiendo leer al menos los primeros 3 capitulos, el libro es genial

  1. Afortunadamente Nodester me paso un excelente punto de inicio. Yo usuario de Windows no pienso resignar mi Sistema Operativo asi que empece por aqui: http://help.github.com/win-set-up-git/, que es la guia oficial de Github para instalar Git bajo Windows, genial
  2. La recomendacion que les hago al seguir la guia es, hacerlo exactamente con los pasos tal cual les dicen, de lo contrario estaran viendose a ustedes mismos bloqueados en algun punto de la configuracion.
  3. La generacion de las llaves puede resultar un poco truculenta Smile pero una vez que lo hagan todo funciona bien. Truculenta en el sentido de que si se equivocan en algo por ejemplo en el directorio donde generan las llaves puede ser que la conexion con Github o Nodester, no funcionara!
  4. Luego a instalar la app de nodester usando “npm install nodester-cli -g ”
  5. Hacer un setup de las cuentas de Nodester
  6. Finalmente seguir las instrucciones del video http://www.youtube.com/watch?v=jwsP1Ejv-_w hay algunas cosas que no me funcionaron al seguir esas instrucciones, ya lo reporte y seguramente haran un update de sus herramientas o en el peor de los casos del video Smile

Pero las cosas no quedaron ahi, yo me adentre mas al mundo de Git y comence a usar Github, se que hay otras muchas opciones pero bueno seguramente en algun momento las probare.

  • Descargue e instale un conjunto de herramientas llamadas GitExtensions, que tienen varias utilidades entre ellas un plugin para VS2010, de tal forma de integrar Git dentro de VS, debo decir que no le llega ni a los talones a TFS Smile pero tampoco lo necesita porque todo puede hacerse desde la la linea de comandos llamada Git Bash, que es absolutamente genial.
  • El siguiente paso es subir un proyecto a Github y las instrucciones para crear y “promover” cambios a un repositorio en Github estan aqui: http://help.github.com/create-a-repo/
  • El comando “git remote add origin git@github.com:username/Hello-World.git” es el “secreto” de todo, pero aunque las instrucciones son simples y hay documentacion por todo lado, un serio problema me mantuvo bloqueado un par de horas fue un error que decia “Disconnected: No supported authentication methods available”
  • La causa del error… la falta de un archivo .profile en el /home, el archivo tenia que contener la ruta al ejecutable ssh.exe, el contenido del archivo a continuacion:

SSH_ENV=»$HOME/.ssh/environment»
GIT_SSH=»/usr/bin/ssh.exe»

Luego de agregar este archivo todo funciono de maravillas a tal punto que ya subi un proyecto a github, justamente el proyecto de mi anterior post Objetos Globales con CoffeeScript / Javascript, lo pueden encontrar aqui: https://github.com/tecnocrata/GlobalObjectsCoffeeScript

Bueno eso es todo por ahora.

Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *