Github es una plataforma de desarrollo colaborativo que utiliza el sistema Git. Esto permite alojar proyectos de forma pública con su código fuente, de forma que cualquier persona puede contribuir con el código, además de poder seguir el proyecto, hacer un Fork o agregarlo a favoritos. También se permite crear sugerencias o reportar errores, los cuales suelen ser respondidos por el creador del proyecto.
Alojar nuestro proyecto software libre es gratuito, sin embargo, si queremos hacer un proyecto privado tendremos que pagar una cierta cuota mensual.
En este tutorial vamos a subir un proyecto simple que hemos creado para subirlo a GitHub. El proyecto obtiene el espacio libre de la partición /home y avisa mediante una notificación cuando el espacio sea inferior al 5%. Si queréis que hagamos un tutorial para crear scripts bash, dejad vuestros comentarios.
Qué se puede publicar en GitHub?
Se puede publicar cualquier tipo de proyecto, ya sea un script de Linux, un plugin de jQuery, o una página web en Python o cualquier cosa relacionada. Aquí subiremos todos los archivos fuente que sean necesarios para que el programa funcione, pudiendo añadir un readme para que sea más fácil su adaptación.
Cómo publicar un proyecto en GitHub?
Para publicar un proyecto, primero tendremos que crearnos una cuenta con nuestros datos de inicio de sesión, nuestro plan, si es gratuito o de pago, y una breve información sobre nosotros.
Una vez creada nuestra cuenta, nos dirigimos a Your Profile -> Repositories, y hacemos click en New.
Ahora, tendremos que introducir los datos del nuevo repositorio, como el nombre del proyecto, el cual formará la URL, junto con la descripción del mismo.
Justo debajo podremos elegir si queremos hacer el proyecto público (gratis) o privado (de pago). Con ‘Initialize this repository with a README’ se creará automáticamente el fichero ‘Léeme’ que contiene la información del proyecto. Este archivo podremos editarlo más adelante.
Y por último, podemos añadir una licencia al proyecto, como puede ser la GNU Public License v 3.0.
Subir el código al repositorio
Una vez tenemos creado el repositorio, en nuestro caso es Disk Space Notify, veremos el archivo LICENSE y README que ya están creados, si hemos elegido estas opciones cuando habíamos creado el repositorio anteriormente.
En la parte inferior se visualizará el contenido del README, por lo que es conveniente crearlo y crearle unos estilos adecuados, además de unas instrucciones sobre cómo funciona el programa y cómo ponerlo en marcha.
Vamos a suponer que ya tenemos el código creado en nuestra máquina, sin embargo, no tenemos subido el proyecto. Abrimos la terminal sobre la carpeta donde alojamos los ficheros fuente, y escribimos el siguiente comando para inicializar git en esa carpeta:
git init
Una vez hecho esto, se habrá creado la carpeta .git con toda la información del proyecto. Ahora, tenemos que añadir los ficheros para que podamos subirlo, con este comando:
git add .
O también podemos hacer el siguiente comando para añadir sólo un fichero:
git add nombredelfichero
Ahora, tenemos que preparar los ficheros que vamos a subir, con una breve explicación sobre los cambios:
git commit -m "Creado el proyecto inicial"
Una vez hecho esto, tendremos que subir los cambios a GitHub. Primero debemos de visualizar la ruta de nuestro repositorio (terminada en .git), que se encuentra en ‘Clone or Download’, el botón verde que vemos en la página del proyecto. Una vez la obtenemos, añadimos el repositorio desde la terminal:
git remote add origin URLrepositorio.git
Y para finalizar, subimos los cambios:
git push origin master
Si todo ha salido bien, veremos los cambios subidos en nuestra página del proyecto, así:
Conclusión
GitHub es una excelente herramienta para alojar y compartir proyectos en la nube. El manejo de git es realmente sencillo, y existen IDE que facilitan aún más esta tarea, como puede ser Netbeans. Si no quieres perderte ninguna contribución, podéis seguirnos en nuestra página de GitHub.
Gracias por el tutorial, soy programador enfocado a aplicaciones Linux en un entorno casero, pero gracias a este post me he animado a subir mis proyectos a GitHub y compartirlos con todo el mundo.