Herramientas

Qué es Github

¿Quiere saber que es GitHub? En este articulo aprenderás una visión general del funcionamiento y las características de la plataforma más usada de este importante sistema de control de versiones.

Publicado el 14 de Mayo de 2019
Compartir

¿Qué es Git y qué son los sistemas de control de versiones?

Git es un sistema de control de versiones, es decir, desde que activamos el control sobre la carpeta donde está nuestro código el sisema se encargará de controlar los cambios en los archivos.

Cuando querramos marcar estos cambios realizaremos lo que se conoce como commit, que consiste en describir los cambios realizados, apuntándolos en este registro.

Con ello, podremos movernos entre los diferentes commits, por ejemplo, para volver a una versión anterior de nuestro proyecto.

También, los sistemas de control de versiones, entre los que se encuentra Git, son la base en la actualidad para los proyectos de equipo ya que podemos trabajar a la vez múltiples programadores en un mismo proyecto, incluso en un mismo archivo de una manera fácil.

Entonces, ¿qué es Github?

Github es una herramienta que nos permite tener nuestros repositiorios de Git en la nube. Esto nos permite centralizar el contenido del repositorio para poder colaborar con otros miembros de nuestra organización.

Git nos permite conectarnos remotamente, como veremos al final del artículo, con otros repositorios, pudiendo subir los commits a este repositorio que se crea en Github y teniendo el proyecto subido y marcado en un servidor.

También, nos ahorramos el mantenimiento de este repositorio pues está alojado en los servidores de Github aunque si lo deseamos podemos crear nuestros propios repositorios con Git en un VPS o para empresas de gran envergadura veremos que Github ofrece otras soluciones.

Ellos se definen como una herramienta que te permite gestionar el ciclo de desarrollo completo, desde la planificación hasta el deploy.

Algunas alternativas a Github

Una alternativa a Github muy conocida es Gitlab que es muy famosa ya que permite repositorios privados gratis, frente a Github que desde hace muy poco no lo permitía.

También hay otra alternativa conocida llamada Bitbucket. Es de la empresa Atlassian por lo que se integra fácilmente con herramientas como Trello o Jira.

Precios de Github

Recientemente, como comentaba en el punto anterior, tenemos la posibilidad de tener repositorios privados gratis en Github aunque si necesitamos más de tres colaboradores en estos repositorios deberemos pagar el plan Pro($7/mes).

Imagen 0 en Qué es Github

También existen planes para grandes empresas con múltiples departamentos y proyectos Github Enterprise, una solución que nos permite tener nuestro propio Github exclusívamente para nuestra corporación.

En este caso, los precios van desde los $21 por usuario al mes y podemos desplegar esta arquitectura fácilmente en servidores de AWS, Azure o Google Cloud Platform.

Además del control de versiones para tu proyecto, existen otras herramientas a destacar:

  • Un sistema de tareas como el de Trello, integrado en el repositorio.
  • Herramientas de análisis que incluyen detección de vulnerabilidades en las dependencias de nuestro proyecto.
  • Webhooks para poder automatizar procesos como los deploys.

Cómo colaborar en proyectos de Github

Github contiene multitud de proyectos de manera abierta. Gracias a esto podrás crear tus propias herramientas basándote en un proyecto o colaborar en algún proyecto.

La mayoría de herraamientas que usas como desarrollador, librerías o frameworks están en Github y puedes contribuir a mejorarlos.

Un fork es una funcionalidad de Github que nos permite crear un repositorio en nuestra cuenta que tenga exactamente los mismos archivos, commits e información que otro que hayas elegido.

Un repositorio es el espacio donde va a estar nuestro código tanto en nuestro ordenador como en Github una vez activemos el sistema de control de versiones. La carpeta que contiene nuestro código pasa a llamarse repositorio y Git, mediante diferentes comandos te informará de los cambios en los archivos.

Esto nos permitirá tener una copia con la que poder trabajar los cambios.

Para realizar un fork ve al proyecto en cuestión que quieres copiar y allí encontrarás el mencionado botón:

Imagen 1 en Qué es Github

Si haces algún cambio y deseas que se añada al proyecto desde el que has hecho la copia necesitarás hacer un pull request, una propuesta para que los administradores del proyecto principal revisen los cambios producidos y decidan si añadir tu código al proyecto.

Una vez realizados los cambios te aparecerá un resumen de estos y la posibilidad de ejecutar el pull request:

Imagen 1 en Qué es Github

Es importante saber en proyectos de gran emvergadura existen reglas definidas para las colaboraciones y si no las cumples, tu pull request no será aceptado, por lo que debes leer estas normas antes de enviar cualquier colaboración.

Cómo conectarnos a nuestros repositorios de Github

Para comunicar nuestro repositorio local de Git con el que hayamos creado en Github y enviarle los commits nuevos que se hayan realizado en el proyecto tenemos la opción de hacerlo con la línea de comandos o con una herramienta gráfica.

Usando la línea de comandos para conectarnos a Github

Si tienes el cliente de Git disponible en tu línea de comandos sólo necesitarás añadir al repositorio local de Git la conexión remota usando el siguiente comando:

git remote add [nombre_deseado] [url_repositorio]

La [url_repositorio] la encuentras en Github, en el botón verde Clone or download.

Si eliges la versión HTTPS te solicitará tus claves de acceso cuando hagas git push [nombre_deseado] [rama] y copiará los commits o los cambios realizados al repositorio remoto. Si deseas configurar el repositorio por SSH tendrás que realizar una configuración más avanzada.

Imagen 3 en Qué es Github

Usando una herramienta gráfica para conectarnos a Github

La herramienta más recomendada es Github Desktop ya que es el cliente oficial. Está disponible tanto para Windows como para Mac y nos permite realizar todas las acciones que haríamos desde la consola: commits, pull, push, etc.

Imagen 4 en Qué es Github

También existen otras herramientas gráficas como Sourcetree o GitKraken.

Descuentos de Github para estudiantes

En el caso de que seas estudiante, Github ofrece un Student Pack con el que tendrás multitud de descuentos y herramientas para crear tu proyecto.

Por ejemplo, si te encuentras arrancando uno, tienes dominio y certificado SSL de Namecheap gratis por un año, $50 en Digital Ocean o un Hobby de Heroku gratis por dos años.

Imagen 5 en Qué es Github

Si cumples los requisitos te recomiendo solicitarlo pues podrás ir accediendo a estos beneficios cuando los necesites y seguro que te serán de utilidad para algún proyecto que lleves a cabo.

Enlaces relacionados de interés

Conclusión final

Git y Github son herramientas fundamentales para el proceso de desarrollo de tu proyecto o producto. Como hemos visto podemos usar otras alternativas pero no debememos de suprimir estas herrameintas que nos ayudarán a una mejor gestión del código.

En el caso de que queramos establecer un sistema de control de versiones para otras fases del proyecto como el diseño, tenemos herramientas a nuestra disposición como Abstract en el caso de que usemos Sketch o Versions que es una solución de Sympli.

cta-cheat-sheet-20-comandos-git


Compartir este post

También te puede interesar...

Tecnología

Qué es Github

14 Mayo 2019 Angel Robledano
Artículos
Ver todos