Curso Básico de GitHub
Tags: github, spanish, programacion
Published: 2020-09-29 01:32:08

Aprenderas qué es git y github, cómo crear un repositorio desde github, cómo clonar un repositorio y cómo subir los cambios locales a un repositorio.

## Qué es git

¿Te acuerdas cuando creabas un documento y sacabas varias versiones del mismo?

Seguramente terminabas con:
- archivo.txt
- archivoV1.txt
- archivoDefinitivo.txt
- archivoSuperDefinitivo.txt
- etc.

Git es un software que ayuda justamente con esto; es un controlador de versiones.

> Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos. (1)



Algo que considero fundamental entender con respecto a **git** es que una cosa es controlar las versiones de forma **local** (en tu computadora) y otra es controlar esas versiones de forma **online** (en un repositorio de **github**).

Para ser sincera es poco el uso que le doy a git como gestor de versiones locales, la mayoría de las veces lo utilizo para poder colaborar de forma rápida con otras personas en github.

## Qué es Github

> Es un git pero online

Es un sistema que permite controlar versiones y tus archivos estarían guardados en los servidores de github.

**¿En github sólo puedes subir código?**

No.

Puedes subir varios tipos de archivo. Sin embargo sí está muy optimizado para hacer colaboraciones en archivos de texto plano que pueden ser interpretados por distintos lenguajes de programación.

Si estás en el mundo de la programación github es indispensable.

Si no podrías usar github con otros fines, por ejemplo  hacer una carta colaborativa y subir un archivo a github en formato .txt o .md.

## :pushpin: Pasos para empezar con Github

### 1. Descarga el software git en tu computadora.

https://git-scm.com/downloads

Recuerda que git es un controlador de versiones, y este lo usaremos para guardar los archivos de forma local y luego con unos comandos lo haremos online (github).

Si tu sistema operativo es Windows lo más probable es que se te instale algo llamado gitbash, y si no lo hace automáticamente asegurate de descargarlo.

### 2. Crea una cuenta en Github

https://github.com/


> Ya con lo necesario para usar Github puedes crear tu primer repositorio (proyecto) de diversas maneras. Yo voy a explicar el paso a paso de cómo lo hago yo (que pienso que es la forma más fácil)

### 3. Crea tu repositorio en Github

#### La forma más rápida

https://github.com/new

Luego te va a pedir que le coloques un título al repositorio, una descripción opcional, si lo quieres privado o público, y luego te dice si quieres agregarle a tu repositorio README, gitignore y licencias. De momento sólo vamos a rellenar el título y las cositas que sean obligatorias y luego vamos a seleccionar que queremos agregarle el README.

### 4. Lo básico de los repositorios

<img src="https://i.ibb.co/M7xssjF/Screenshot-from-2020-08-26-21-25-01.png" alt="Screenshot-from-2020-08-26-21-25-01" border="0">

Arriba tenemos una barra con varias opciones sobre nuestro repositorio que sería interesante revises pero de momento vamos a centrarnos en las opciones:

- Go to file
- Add file 
- Code

Github nos permite editar nuestras cosas directamente desde la web. Si quisieramos editar el README podemos pisar el lapicito y si queremos agregar más archivos podremos usar la función Add file; pero de momento queremos hacer estas ediciones de forma local (en nuestra pc).

### 5. Clonar un repositorio de Github en tu computadora

Cuando se dice clonar nos referimos a traer a nuestra computadora una copia de lo que está en el repositorio.

**¿Y cómo se hace?**

Estando en el repositorio que quiero clonar :scream: selecciono donde dice Code (el botón verde) y copio el link que muestra.

<img src="https://i.ibb.co/Jskh22w/Screenshot-from-2020-08-26-21-31-47.png" alt="Screenshot-from-2020-08-26-21-31-47" border="0">

Luego:

Si estás en Windows abres el Git Bash, si estás en Linux o Mac abres la terminal o línea de comandos.

En mi caso sale:
`mafer@PC:~/Documents/Data$`

:star2: Explicación: En donde lo primero es el nombre de usuario en mi maquina, luego sale el nombre de mi máquina y luego sale el directorio en donde me encuentro, que en mi caso es ~ (que es el home de mi usuario), en la carpeta Documentos y subcarpeta Data.

En mi caso quiero ir a otro directorio, porque el repositorio que acabo de hacer no tiene nada que ver con eso, entonces escribo en la terminal:

`cd ..`

Eso quiere decir change directory (cambia de directorio) al directorio padre (el directorio padre en este caso es Documents)

Ya que estoy en Documents (o en cualquier carpeta en donde quiera el repositorio) voy a hacer

`git clone <link del repositorio que copie de github>`

*Si este comando te da algún error puede ser porque no tienes instalado git o el repositorio por alguna razón no se puede clonar o … googlea cualquier cosa que te haya devuelto esto.*

*A mí nunca me ha dado error pero imagino que debe ser por algo de eso* :smile:

Y listo, si todo salió bien ya clonaste el repositorio en tu pc.

### 6. Editar los archivos del repositorio de forma local

Ahora nos apoyaremos en la interfaz gráfica de nuestro sistema operativo para ir a la carpeta de documentos y ver una carpeta que casualmente tendrá el mismo nombre del repositorio de github.

:star2: Traducción: en tu pc busca la carpetita y entra a documentos de forma normal y busca la carpeta que tiene el nombre de tu repositorio.

Dentro de esa carpeta puedes copiar y pegar archivos, editar los que están, etc.

Supongamos que con un editor de texto plano (bloc de notas, sublime text, vs code, o cualquier otro) editamos el README. Verás que esto puedes hacerlo sin ningún problema.

Para este experimento escribiremos nuestro nombre dentro del README y guardamos.

### 7. Guardar versiones con git

Luego de haber modificado todo y haber guardado lo que sigue es ir a la terminal (o git bash) y revisamos en qué carpeta estamos. 

En mi caso me quedé en Documentos así que voy a ir a la capeta del repositorio.

`cd <nombre de la carpeta>`

:star2: Pequeño hack: si escribes las primeras letras del nombre de la carpeta y no tienes otra que empiece con esas letras, si pisas la tecla tab (la que está sobre el mayus en tu teclado), va a auto completar el nombre.

En fin, si logras entrar podemos:

#### Ver el status de git

Si escribimos en la terminal:

`git status`

#### Agregar al controlador de versiones las modificaciones a nuestra carpeta

`git add .`

:star2: Explicación: Ese “.” significa: donde estás parado (la carpeta en la que te encuentras)

_Traducción: estás agregando a tu controlador todo lo nuevo que tengas en esa carpeta._

Puedes revisar si se agregó correctamente con `git status`

Y para terminar

#### Hacemos un commit

`git commit -m “escribo aqui un mensaje referente a los cambios que hice”`

Nota: las comillas para el mensaje son necesarias

### 8. ¿Cómo agregar mis versiones a GitHub?

Luego de haber hecho:

`git add .`

`git commit -m “mensaje”`

hay que subir eso a github.

Si estás en un proyecto colaborativo es bueno que hagas:

`git pull` o `git pull origin master`

y luego haces:

`git push` o `git push origin master`

:star2: Explicación: El git pull lo que hace es traer a tu pc las nuevas versiones de tus compañeros a tu pc, y el git push es el que sube tus modificaciones al github. Para estas acciones normalmente te va a pedir el usuario y la clave de tu cuenta de github.


**Y listo, eso fue todo.** :tada:

_Puedes revisar en la página de Github si se hicieron los cambios._

---

### :pushpin: En este gist aprendiste

- Instalar git
- Crearte una cuenta en github
- Crear un repositorio desde github
- Clonar un repositorio de github a tu computadora
- Moverte en la terminal con el comando cd
- Editar el contenido de tu repositorio de forma local
- Guardar las versiones de forma local con git
- Comando básicos como `git status`, `git add .`
- Crear commits con `git commit -m`
- Cómo hacer pull a un repositorio
- Cómo hacer push a un repositorio

---

Si quieres más información al respecto te invito a que visites la documentación de github en español: https://docs.github.com/es/github

---

## Bibliografía

(1) https://es.wikipedia.org/wiki/Git

(2) https://docs.github.com/es/github