¿Que es Git y GIthub?, Desde Cero

A lo largo de tus días aprendiendo solo en tu computador, mirando la pantalla esas lineas de código que aun no tienes clara del todo que significan pero que sientes ganas de saber como mejorar y que buscando tutoriales en la web, más de una vez te has encontrado con frases como:

  • Una Inmensa cantidad de Código esta en Github
  • Todas las empresas importantes están en Github
  • Todas las empresas importantes usan Git
  • Todos los programadores profesionales saben usar Git
  • Git hace que el trabajo de los programadores sea mantenible y profesional
  • Git es la herramienta de proyectos colaborativos más usada en todo el mundo
  • Git ya no es una Opción es un requisito de las empresas
esto y mucho más. Pues todo esto es verdad, pero muchas personas no saben de que va el asunto y por lo general terminan Así:



Ignorándolo, como yo en mis días de principiante en la programación, pero que créeme es mejor aprender de una vez.
Hola! Soy Fazt, y en este post espero ayudarte a entender de la manera más fácil y simple lo siguiente acerca de Git:
  • ¿Que es Git y Github?
  • ¿Porque Crearon Git?
  • ¿Como Aprender a usar Git y Github en nuestros proyectos?
Así que Al final de este post, tu productividad como programador se va a disparar!
Tony Stark y IronMan
Tony Stark, de la película de Marvel, IronMan
Ademas no olvides seguir los enlaces que encuentras a lo largo del articulo para ver más información relacionada o seguirme en mis redes como Facebook para que puedas conocer más de la web, así que sin más, empecemos.

¿QUE ES GIT Y GITHUB?

Muy bien se que estos pueden sonar a lo mismo ya que uno hasta tiene el nombre del otro, pero son dos herramientas distintas, pero que están relacionadas.
Haciendo uso de una los sitios web que más frecuento, me encuentro con una respuesta que te explicare lo más sencillo posible.

GIT ES UN SISTEMA DE CONTROL DE VERSIONES (CVS)

primero, ¿Que es un sistema de control de versiones?, imagina que estas haciendo un proyecto importante, como un software, un sitio web, un diseño, etc, y has dedicado muchos meses en mejorarlo, y ya vas en la versión 4.0 de tu software, para que llegue un día y al revisar te das cuenta de que tu software era mucho más potente en la versión 2.0 pero que te gustaba algunas cosas de la versión 3.0, pero que debido a todo el código que cambiaste ya no tienen ni idea de como se encontraba todo ese código en aquellas versiones. Git al ser un CVS, te permite moverte entre todas las versiones del proyecto sin problemas y con un rendimiento veloz, olvídate de hacer copias de tu proyecto en cada cambio y comentar código que has borrado. 

Pero es que Git no solo te permite eso, que pasa si tu proyecto crece y necesitas a mas programadores actualizando y haciendo cosas en tu proyecto, ¿como mantienes el control de tu proyecto con tantas personas editando, borrando, agregando el código?, la respuesta es que Git permite a un equipo de personas pueden contribuir con el proyecto de una manera muy fácil y profesional, permitiéndote tener el control de tu proyecto y recibiendo ayuda de otras desarrolladores, incluso personas que pueden estar al rededor del mundo. Es por eso que compañías como Facebook, Microsoft, Google y prácticamente cualquier compañía que su negocio se basa en el código, sus desarrolladores necesitan git. 

Entre la terminología que vas a escuchar muy a menudo con Git, es la de repositorio
GITHUB ES UN REPOSITORIO, DE CÓDIGO 
ok, ya tienes varias versiones de tu proyecto, ahora quieres que otras personas empiezan a modificarlo, ya sea porque has creado un software empresarial y tus empleados necesitan mejorarlo, o porque estas desarrollando un proyecto que quieres que otros programadores te ayuden, porque Sí el software nunca deja de mejorar, solo para darte un ejemplo tanto Facebook como google actualiza lineas de código a diario. lo que tienes que hacer es subir tu proyecto a un lugar en donde todos los desarrolladores tengan acceso y lo puedan descargar para ir haciendo cambios, ¿así que ahora a donde lo subimos?, pues seria genial si existiese un sitio donde todas las personas al rededor del mundo suben su código y lo compartan de tal modo que cuando quiera hacer un software no tenga que reinventar la rueda, ademas que pueda aprender de los proyectos de otros y pueda subir los míos también, totalmente gratis. Pues sin más este sitio es Github.

Así que mientras Git te permite controlar las versiones de tu proyecto, Github ofrece un espacio en Internet para que lo publiques, es así de simple.

¿PORQUE CREARON GIT?

bueno si el software estuvo allí por mucho tiempo, ¿no existían herramientas parecidas a Git?, de hecho existían parecidas, pero no eran tan potentes, para entender esto tengo que comentarte un poco de historia. Linus Torvalds, el creador del Kernel de Linux, que usaba por entonces un sistema de control de versiones llamado BitKeeper , se vio en la necesidad de desarrollar su propio sistema debido a que BitKeeper dejo de ser gratuito, así que sin más creo su propia herramienta y la hizo libre como ya había echo con el kernel de linux. Te recomiendo ver esta entrevista a linus torvalds, no te olvides de activar los subtitulos en español 😉.

¿COMO INSTALAR GIT?

Para instalar GIT, lo puedes hacer desde un instalador en Windows como muestro en este vídeo o simplemente haciendo uso del administrador de paquetes si estas en linux, para empezar ambas herramientas son gratuitas así que no tienes más que descargar Git en su Pagina oficial

¿COMO APRENDER A USAR GIT Y GITHUB EN NUESTROS PROYECTOS?

Necesitas crearte una cuenta en Github, de hecho puedes ver mis proyectos que subo. Teniendo Esto, lo único que tienes que hacer es ahora seguir los sin fines de tutoriales en la web, que aquí te recomiendo algunos, que me sirvieron a mí.

LIBROS
  • Pro Git, es un libro gratuito que puedes leer desde web y en español
WEB

CONCLUSIONES

A diario en mi trabajo, como en mis ratos de ocio, en los que paso programando uso Git y Github, que me facilita mucho el trabajo, y se que parece un esfuerzo de más, pero en realidad no lo es, ya que solo puedes hacer uso de los comandos básicos y luego ir aprendiendo según lo necesites.
Ademas si desarrollas web, todas las plataformas en la Nube como Heroku, Azure, Google Cloud o Amazon te permiten subir tu proyecto en la nube con un par de comandos de Git, lo que facilita mucho el trabajo.
Ahora aprender todo desde un solo post, es muy dificil si tienes más dudas no olvides que puedes unirte a las comunidades de slack y gitter, que ya he creado para este proposito, o si tienes cualquier comentario me interesara leerlo. Happy Coding!


Comentarios

  1. Buen post.
    Estoy retomando la programación, lo había dejado por un buen par de años y yo administraba mis proyectos con el TortoiseSVN.
    Saludos.

    ResponderEliminar

Publicar un comentario