Usando git y github
Cuando estamos empezando a aprender programación, una buena idea para reforzar conceptos y dejar nuestro código disponible en línea es subir cada cosa que hagamos a github.
Para lograrlo, nuestro código debe estar organizado de manera prolija. Recordemos que git le presta atención a lo que ocurre en una sola carpeta: si tenemos muchos códigos diferentes en la misma carpeta, habrá un sólo repositorio de git para todos ellos.
Cada vez que vayamos a hacer un ejercicio nuevo, entonces, la mejor opción es crear una carpeta nueva para contenerlo.
Hay muchos pasos posibles para dejar nuestro código organizado en un repo de git y este repo subido a github. Esta que les dejo aquí es solo una de ellas.
Les dejo a continuación los comandos con explicaciones de cada uno, y al final simplemente los comandos que deben escribir en orden.
Creando un repo de git en nuestra computadora
La consola puede ser intimidante, pero en realidad está tratando de ser útil: cuando hacemos algo mal ella, a su manera, nos dice que algo falló, y nos da la información necesaria para corregir ese error. Lean lo que les responde la consola, no la ignoren porque en esos mensajes está la clave para solucionar cualquier problema que surja.
-
Creamos una carpeta nueva, y dentro de creamos ella los archivos que vayamos a necesitar para trabajar. Por ejemplo,
index.html
ystyle.css
Podemos hacer esto desde el navegador de nuestra computadora, o tambien desde la consola. Es indistinto para git.
-
Una vez creados los archivos, vamos a la consola. Debemos estar ubicadas en la carpeta donde estan nuestros archivos.
-
Creamos un repo de git nuevo con el comando
git init
La respuesta de la consola debería ser algo como esto "Initialized empty Git repository in /rutaanuestracarpeta/"
-
Agregamos los cambios que hicimos con el comando
git add .
La consola no debería respondernos nada. Si nos dice algo como "fatal" o "is not a git command", revisemos lo que escribimos: quizá haya habido un error de tipeo.
-
Hacemos un commit de todos los cambios con
git commit -m "mensaje de commit"
La respuesta de la consola debería ser mostrarnos los archivos que se crearon o que se modificaron. Si la respuesta dice algo como "error" o "fatal", muy probablemente haya habido un error de tipeo. Hay que revisar lo que escribí antes.
Si me olvido el mensaje de commit y solo escribo
git commit
voy a entrar a Vim. En ese caso, no tengo que hacer nada mas que escribir:q
para salir. Luego, hacer el commit entero nuevamente, agregando el mensaje de commit.Si la respuesta de la consola es: "nothing to commit, working tree clean", significa que no se agregó ningún commit porque no había ningún cambio en mis archivos. En ese caso, revisemos lo hecho hasta ahora: hice cambios en mis archivos? Escribí
git add .
correctamente?
Puedo seguir modificando archivos, agregando los cambios con git add .
y haciendo commits tantas veces como quiera. No es necesario que sea solo uno.
NOTA En todo momento puedo escribir git status
para que git me cuente en qué situacion estoy. Si hay archivos en rojo, significa que tengo que agregarlos con git add .
. Si hay archivos en verde, significa que estan agregados pero que aun no estan en ningun commit. Si dice "nothing to commit", significa que o no hice nada aun, o que todos mis cambios ya estan agregados a un commit.
Recuerden que lo ideal es ir trabajando por secciones. Entonces, si tengo que hacer una pagina web, el primer commit puede ser "hice estructura basica", el segundo "agrego contenido de la seccion principal", el segundo "agrego estilados", etc.
Creando un repo de github
-
Navegamos a github.com
-
Creamos un nuevo repositorio (en la barra de navegación hay un signo +: si le hacemos clic, una de las opciones es "New repository").
-
Agregamos un nombre a nuestro repositorio y hacemos clic en el botón verde. El nombre no puede ser igual al de algun repositorio que ya exista.
-
Github nos va a dar opciones de diferentes comandos. Tenemos que mirar la que dice "…or push an existing repository from the command line"
-
Vamos a ver dos comandos. Tenemos que escribir cada uno de ellos en nuestra consola.
-
El primero es para agregar el "origen" (el repo remoto en github) a nuestro repo local. Es una manera de decirle: tu dirección web va a ser la siguiente.
git remote add origin [email protected]:nombreusuario/nombrerepo.git
Nota: Este comando va a cambiar en cada repo, porque el nombre de usuario de cada una y el nombre de su repo va a cambiar. No copien y peguen de arriba: fijense qué les dice github.
Nota 2: Hay algunos navegadores que traducen al español github. En ese caso, quizá estos comandos estén cambiados. Por favor chequeen bien que lo que les diga github sea similar a lo que yo les escribo aca. "git remote add origin", y luego la url de su repo.
La consola no nos va a responder nada.
-
El segundo es para "empujar" los cambios a github, es decir, enviar a github todos los commits que hice en mis archivos. Es siempre igual para todos:
git push -u origin master
La respuesta de la consola deberia ser un mensaje largo que termina en "Branch 'master' set up to track remote branch 'master' from 'origin'. Si esa no es la respuesta, revisemos todo lo hecho hasta ahora: Escribi bien todos los comandos anteriores? Tuve algun error de tipeo? Esta bien la ruta que le di en el comando anterior? Revisemos bien qué nos dice github que escribamos, y que fue lo que efectivamente escribimos. Tambien controlen que github no esté traduciendo al español los comandos. Recuerden que un punto de mas, un espacio que falte, y ya el comando va a fallar.
-
Si todo salió bien, debería poder ir a github, refrescar la página, y ver mis archivos subidos con todos los commits que hice.
-
A partir de ahora, cada vez que haga un cambio y quiera subirlo a github debo escribir, en orden:
git add .
git commit -m "mensaje de commit"
git push
Nota El primer
git push -u origin master
es solo cuando envio el repo a github por primera vez. Una vez que la rama master ya esta en github, solo debo escribirgit push
sin agregar nada mas.
En resumen
-
Crear archivos en una carpeta.
-
git init
-
git add .
-
git commit -m "mensaje de commit"
-
Ir a github, crear un repo nuevo
-
git remote add origin [email protected]:nombreusuario/nombrerepo.git
-
git push -u origin master
-
Seguir agregando cambios con
git add .
git commit -m "mensaje de commit"
git push