Git, git add, git commit -m, git what?!

Arabela
Laboratoria Developers
6 min readFeb 22, 2017

¿¿Git what?? ¿Qué es eso y por qué es importante? ¿Se come?

Pues empecemos por lo básico, Git un sistema de control de versiones que registra los cambios realizados sobre un archivo durante su desarrollo.

Por ejemplo, si en algún momento del proyecto queremos volver a una versión anterior podríamos anticiparnos y no correr el riesgo de perder algún archivo que estará dentro de nuestro proyecto. Te puedo asegurar que poder regresar a una versión anterior en mi código me ha salvado la vida más de una vez.

Supongamos que te la pasas trabajando toda la noche en un proyecto súper duper especial y cuando estás a punto de terminar se apaga la computadora (para tu buena suerte) y misteriosamente todo se borró y ahora no sabes que hacer…

Estoy segura que a más de uno nos ha pasado esto en algún momento de nuestra vida y ese es el momento en que te das cuenta que tener tu proyecto en algún repositorio (Github,Gitlab,Bitbucket) pudo haberte evitado muchos dolores de cabeza.

Empecemos…

Antes de poder hacer cualquier cosa debemos primero configurar Git en nuestro computador, así que si usas Windows puedes instalar git Git bash, si tienes Linux como yo, puedes instalar git en la terminar con DNF o APT-GET dependiendo de tu versión.

Ya lo instalé y ¿ahora?

En tu terminal o Git Bash necesitamos configurar quienes somos para lo cual ejecutamos los siguientes comandos:

Al hacer esto está configurando nuestra identidad ante Git.

Ahora creemos nuestro repositorio en Github

Tenemos que ir a github (crear nuestra cuenta si es que no tenemos) y luego buscar la opción de crear un nuevo repositorio. Aparecerá una pantalla similar a esta:

Creamos un repositorio en Github

Una vez creado tenemos dos opciones, podemos clonar nuestro repositorio creado desde Github (este nos bajará todo el código) o vincular una carpeta con código existente con nuestro repo.

Clonando…

Clonando el repositorio vació

Usar el URL que nos da git para clonar nuestro repo:

Ojo piojo te esta clonando algo -empty (vació)

Vinculando

La segunda opción es subir una carpeta que ya estemos usando a un repositorio (mas común de lo que parece)

O sube un archivo ya avanzaado

Aquí se pone un poco confusa la situación para nosotros, entonces primero, me dirijo a la carpeta donde estoy haciendo mi proyecto, una vez dentro:

Inicializo con “git init” y luego hago el comando de “git remote add origin”, yo para asegurarme que realmente se agregó, hago “git add” nuevamente y luego dejo un mensaje de mi versión inicial con “git commit -m ‘mi primer commit’ “, luego subo mi carpeta existente a mi repositorio finalmente con “git push -u origin master”

Hago los siguientes comandos:

  1. git init
  2. git remote add origin https://github.com/arabelarc/Mi-primer-repositorio.git
  3. git commit -m “Mi primer commit”
  4. git push -u origin master
Entonces tendremos un resultado así en la consola.
Entonces tendremos el repositorio listo, no necesariamente el repo y la carpeta que subo tienen que llamarse igual

Todo muy bonito… ¿pero si tengo más cambios?

¿Qué pasa si quiero seguir subiendo cambio a mi proyecto?, pues hagamos el próximo ejercicio:

  1. Creemos un file HTML (principal.html)
  2. Creemos un CSS (main.css)
  3. Veamos como subirlo a nuestro a nuestro repositorio.

Aquí podemos ver que he creado los dos archivos y que si hago git status me sale como rojo lo que quiere decir que aún no están bajo el control de git.

Añadiendo nuevos archivos

Lo siguiente por hacer es repetir esos comandos que hice al principio (en realidad sólo los dos últimos)

  1. git add .
  2. git commit -m “Agregando otro HTML y CSS a mi proyecto”

Nota mental

Hablar más de la terminal..pero por mientras estos comando te pueden ser útil para navegar entre los directorios

  • “ls” nos permite ver el contenido de nuestra carpeta, aquí estoy mostrando los archivos agregados para subirlos al repositorio.
  • “cd” nos permite entrar a la carpeta
  • “cd ..” nos permite salir de la carpeta

Si todo te salió bien deberías ver algo como esto

Nos muestra una leyenda de los archivos agregados

“git push origin master” (master es la rama principal por ahora)

Contando primer los objetos agregados , nos muestra una leyenda de a que rama esta siendo agregada.

Para agregar o modificar más archivos pues sólo tengo que seguir los mismos pasos que antes

  1. git add .
  2. git commit -m “Más cambios”

Estoy tan emocionada que quiero que mi amiga me ayude

Nuestro proyecto va creciendo y queremos pedirle a una amiga que nos ayude…¿Y ahora cómo hacemos?

Pues Michelle aceptó ayudarme así que la voy a agregar como colaboradora de mi repositorio en la sección de settings / collaborators

Agregando colaboradores

Le pedi a Michelle que clonara mi repositorio y agrega cosas a él, y esto es lo que Michelle hizo:

En esta primera pantalla vemos que ella clonó el repo.

En esta segunda ella agregó cosas al repo, entonces ¿que tendría que hacer yo para tener la versión con lo cambios que Michelle hizo? usamos “git pull origin master”.

En está imagen podemos ver a Michelle haciendo un “push de sus cambios” entonces a mi me tocaría hacer “git pull” para obtener todo lo nuevo que ella agregó al repositorio y de esa manera yo pueda tenerlo en mi local.

Pero yo también he sido proactiva y avance con código

Como quiero ganarle a Michelle en la nueva funcionalidad que estamos haciendo intentaré subir mis cambios antes de bajarme los de Michelle, para eso sigo los pasos que antes ya habiamos visto:

  1. git add .
  2. git commit -m “mensaje”
  3. git push origin master

Pero para mi sorpresa git me retorno este mensaje:

Este mensaje te avisa que necesitas “jalar o hacer pull” de los cambios que hiciste o hizo tu compañera

Caramba…esta vez Michelle me ganó y no me queda otra que actualizar mi repositorio local antes de hacer push.

Pulea baby pulea

Entonces usamos “git pull” para descargar los archivos siguientes y agregarlos a nuestro repositorio local.

  1. git pull origin master
Aqui podemos ver los archivos que Michelle agregó

Hey si te atoras!, llama al 555-AYUDAME! y una TA irá al rescate.

Entonces tenemos ya en nuestro repositorio, los archivos de Michelle, una vez agregados, podemos subir nuestros archivos nuevos!

Archivos agregándose

Ahora si repetimos los comandos anteriores para subir nuestro código y si todo salió bien podemos ver reflejado en github nuestros cambios.

Ya me aburrí de la terminal que tal si los vemos en github

Historial de Elementos

Si me voy al commit 55bd315, podremos ver a detalle lo que se agregó, que tipo de archivo es y su contenido, inclusive puedo comentar línea por línea los cambios que otros hicieron

Archivo agregado por Michelle

Si damos en view podremos ver el contenido del html.

Listo, ahora ya sabes Git y baila la danza del pusheo y el puleo…

Pushea baby pushea!!

--

--