-
Notifications
You must be signed in to change notification settings - Fork 32
Contribuye
#Cómo contribuir a AL SIGM en @github
Git, como herramienta de versionado, ha ganado mucha popularidad, pero además, la llegada de github como repositorio de código ofrecido como servicio a modo de SaaS, hay dudas sobre qué ha provocado más popularidad a qué, si git a github, o github a git, dejemos la discusión para otro momento :-). Por lo tanto no es raro que la mayoría de herramientas y librearías que usas en el día a día estén alojadas en github, lo que hace realmente valioso que se tengan al menos conocimientos rudimentarios de git, y más aún saber cómo poder contribuir con parches o cambios a tus proyectos preferidos.
Imagina que estás trabajando y encuentras un bug en una biblioteca, esta biblioteca está escrita en un lenguaje que conoces y decides dar un paso al frente y resolver el problema. Daremos por supuesto que conoces los comandos básicos de git y que ya tienes una cuenta creada y configurada en github para poder trabajar, si no es así, puedes consultar el libro Pro git para resolver cualquier tipo de duda al respecto.
##Creando un fork
El primer paso es crear un fork del repositorio sobre el quieres colaborar, los manteiners del proyecto a priori no confían en cualquier persona para aceptar sus contribuciones de código, por lo que si quieres hacer tus cambios necesitas primero crear un fork, que no es mas que crear una copia del repositorio en tu cuenta de github local en la cual tú tengas control total.
##Crea el fork en local
Supongamos que creaste un fork del repositorio de AL SIGM:https://github.com/Cenatic/alsigm, ahora deberás hacer un clone. ej:git clone git@github.com:tuusuario/hardcodersmx.github.com
Clona tu repositorio | |
---|---|
1 | git clone git@github.com:tuusuario/cenatic/alsigm.github.com |
Con esto tendrás una copia local (clone) de tu fork en github, ya estamos casi listos para empezar a trabajar.
##Crea tu 'feature branch'
En este momento estás listo para corregir el bug, pero antes de ponerte a desarrollar hay algo más que deberías hacer. La mayoría de los proyectos, casi todos, prefieren que todos tus cambios los hagas en un 'feature branch', esto es, que crees una nueva rama de desarrollo para añadir tus cambios, esto es útil para aislar tus cambios de todo lo demás, y te puede ser útil si en medio del desarrollo encuentras algún otro bug. En lugar de dejar todo embarrado en la misma rama deberás crear una nueva rama para ese otro 'feature', así el mantainer del proyecto podrá aplicar los cambios individualmente.
Recuerda siempre usar un nombre descriptivo para la rama que vas a crear.
Crea tu feature branch (Dentro de tu proyecto, ¡claro!) | |
---|---|
1 | git checkout -b fix_issue_123 |
El comando anterior crea la nueva rama y te cambiá a ella para que puedas trabajar.
##¡Realiza tus cambios!
Ahora sí, realiza todos los cambios que quieras, agrega al stage tus archivos y haz un commit con un mensaje descriptivo.