Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

¿Qué es Github?

Ángel Robledano
¿Qué es Github?

¿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 facilmente 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).

También existen planes para grandes empresas con múiltiples 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:

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:

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.

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.

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.

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 querramos 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

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Por qué debes aprender Git en 2019

Por qué debes aprender Git en 2019

Metodologías y herramientas

25 de Diciembre de 2018

Si todavía no has aprendido Git, te vamos a dar más razones por la que debes aprender Git si eres administrador de sistemas o desarrollador.

Curso de Git

Curso de Git

curso

Con este curso aprenderás:

  • Aprenderás qué es un repositorio, una rama o una etiqueta
  • Conocerás los principales parámetros de trabajo con GIT
  • Aprenderás cómo trabajar con un servidor GIT básico y usaremos Gitlab

Duración: 2 horas y 52 minutos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars