Cuando empezamos a trabajar con Git, es probable que todos nuestros repositorios estén alojados en nuestra computadora; es decir, están en local, y sólo se encuentran en nuestro equipo.
Pero qué pasa, por mencionar uno de los tantos percances que nos pueden pasar, si de da el caso de que nuestra máquina por alguna razón, pasa al plano astral, es decir muere o se estropea, corremos el riesgo de perder nuestro proyecto, ya que solo se encontraba ahí.
Este es el momento en que aparece GitHub.
GitHub es una plataforma en la nube, es decir, un lugar remoto en el Internet, que aloja nuestros repositorios Git.
También se lo conoce como la red social de los desarrolladores. Acá es, el lugar en el que dichos desarrolladores de un equipo se coordinan para hacer modificaciones e ir agregando cositas al proyecto, o puede que dicho proyecto sea solo nuestro (cualquiera sea el caso) al subir nuestro código a GitHub, nos estamos quedando con la seguridad de que no importa si nuestro equipo se daña, o nos ocurre cualquier otro inconveniente que arriesgue nuestro trabajo, este siempre va a estar ahí disponible en la nube.
También podemos acceder a nuestro código desde cualquier otro equipo y desde cualquier lugar en el que estemos.
Para iniciar con todo esto, en principio se sube a esta plataforma un proyecto inicial, el cual sería la rama principal, porque así se mueven en términos generales los proyectos en GitHub, mediante ramas o Branch, en inglés, que son los diferentes caminos que este va tomado.
Y a partir de acá (en caso de que se esté en un grupo) cada integrante se crea una copia del mismo y trabaja por su cuenta sin afectar a esta rama principal. Estas copias que se hacen los diferentes miembros serían otras ramas, pero más secundarias por así decirlo, y los cambios que se hagan en dichas copias luego se suben, y se le aplican a esta rama madre, pero sin afectarla directamente, solo se le van agregando nuevas modificaciones.
Este tema de branches se va a explicar mejor en la siguiente parte de esta tutoría sobre Git y GitBash, pero lo mencionamos para que se vayan haciendo una mínima idea de como funciona la administración de proyecto en GitHub.
Ahora vamos a ver cuáles son los comandos de Git tanto para subir nuestros proyectos a GitHub, como para traerlos a nuestro equipo local en caso de que queramos agregar algo en los diferentes repositorios.
Comandos para repositorios remotos
git remote
Es la base para nuestros repositorios remotos. Tenemos dos comandos bàsicos que vamos a usar siempre:
Que nos mostrará un listado de nuestros repositorios remotos. Y además...
Que agrega un repositorio remoto a nuestro proyecto.
git push
Sincroniza nuestros cambios locales (los sube) con nuestro repositorio remoto. Cabe aclarar que solo sincronizará los cambios que hayamos comprometido, o sea, los que hayamos agregado a un commit.
git pull
Sincroniza nuestros cambios remotos a nuestro repositorio local. Es la version inversa de push, en este caso “baja” los cambios del remoto.
git clone
Sirve para descargarnos todo un repositorio remoto a nuestra computador. Clona todos los archivos y crea un repositorio local.
Diferencia entre git y github
Para que quede un poco más claro, la diferencia entre Git y GitHub es que Git es una herramienta que se instala localmente, es decir, en nuestra computadora y que nos permite ejecutar comandos para interactuar con nuestro proyecto.
GitHub es una plataforma basada en la nube, un servicio en línea que aloja repositorios de git y que permite a los diferentes desarrolladores y desarrolladoras conectarse e interactuar con código.
Podés aprender más sobre estos temas en este video de Aprende a Programar: