¡Oh my git! – Comandos básicos.

¡Bienvenidos un día más a un nuevo rootie queridos amigos! Hoy volvemos a la carga con un post sobre git que sé que os va a gustar. Vamos a continuar donde lo dejamos en la anterior entrada. Os traigo un artículo algo extenso, pero mucho más práctico y menos aburrido que el último de algoritmia que publiqué, también vais a poder utilizar todo lo que hablemos en vuestro día a día. Sin más dilación ¡hablemos sobre los comandos básicos de git!

¡Clone, add, commit y push!

Como ya sabemos, GitHub está almacenando nuestro repositorio en remoto, por lo que lo primero que vamos a hacer para empezar nuestro proyecto, bajo el control de versiones, es clonar el repositorio.

git clone

El concepto de clonar, básicamente es realizar una copia exacta del estado actual del proyecto y descargarlo a tu máquina para que puedas empezar a trabajar con él. Normalmente, si estás trabajando solo, clonarás el proyecto nada más crearlo, con lo que estará vacío o contendrá el README.MD si has decidido agregarlo en la creación.

git-clone
git clone [email protected]:homer-repo.git

Para clonar un repositorio tenemos que utilizar el comando  git clone con la siguiente sintaxis: git clone <url_del_repositorio> <nombre_del_directorio_local> esta última parte es opcional, si se le especifica, git creará un directorio con el nombre del repositorio.

La url del repositorio la vamos a encontrar en GitHub en el botón «Clone repository» y veremos que hay dos opciones: HTTPS y SSH, por ahora, vamos a usar HTTPS, ya que explicaré la configuración SSH en la próxima entrada, con lo que el comando quedaría así:

Este comando podéis ejecutarlo y clonaréis el repo de ejemplo de ohmyroot.

Una vez tenemos nuestra copia local del repositorio, podemos empezar a trabajar en él, así que vamos a crear un archivo index.html con un ohmyroot como titulo.

git status (¡bonus track!)

Una vez creado, vamos a usar el comando git status, que como muchos habréis deducido, nos informará del estado del repositorio local.

Como podemos ver, nuestro nuevo fichero index.html está en la lista de ficheros sin seguimiento («Untracked files»), esto quiere decir que git no lo va a incluir en las revisiones, es decir, no va a controlar ningún cambio.

git add

Para incluir nuestro nuevo fichero en el repositorio, vamos a usar el comando git add. (usando «git add .» se agregan todos los archivos con cambios o sin seguimiento).

Como podemos ver ahora nuestro fichero está listado bajo el título Cambios a confirmar (Changes to be commited).

Cuando un archivo es confirmado en git, este incluirá en la instantánea del repositorio la versión del archivo en el momento de ejecutar git add.

git commit

Para confirmar los cambios que ya hemos agregado utilizamos el comando git commiteste es un comando interactivo, si lo ejecutamos tal cual, nos abrirá nuestro editor de texto predefinido en la consola (nano, vim, emacs) y mostrará algo similar:

Lo que tenemos que hacer es introducir un texto que describa los cambios realizados en nuestro proyecto, de manera que si necesitamos revisar una instantánea o commit en particular este mensaje nos ayude a entender los cambios. Para que estos logs sean útiles y nos ayuden a entender los cambios realizados, si la confirmación contiene más de un cambio, deberemos hacer una linea por cada cambio introducido.

Deshaciendo entuertos con git

Cuando trabajamos con git, podemos encontrarnos con que uno de nuestros commits ha resultado ser un total desastre y vamos que la hemos liado parda.

«Claro, use git push origin master –force… y la he liao parda»

En este momento, si estamos utilizando Git, es cuando podemos relajarnos, abrirnos una coca cola y proceder con calma a arreglar el desaguisado. Git tienes diferentes opciones dependiendo de la magnitud de nuestro desastre, así que veamos posibles situaciones.

Git reset

Puede pasarnos, que estamos trabajando en nuestro proyecto y sin proponernoslo, hemos agregado un archivo que no queremos confirmar ni subir al repositorio, pero que hemos agregado (como os gusta git add .¡pájaros!)

Para corregir esta situación utilizaremos git reset <nombre_del_archivo>, que eliminara el archivo de la lista de preparados, pero mantendrá los cambios que hayamos realizado en el mismo. Este comando no tiene mensaje de salida, con lo que deberéis comprobar con status si se ha reiniciado correctamente.

 

Git checkout – –

Pero y si resulta que lo que hemos trabajado en el archivo no debería estar ahí, no es correcto o se ha agregado por error? En el siguiente código, podemos ver que hemos pegado por error un texto de ejemplo, para deshacer este cambio (sin tener que abrir el archivo y borrarlo manualmente) usaremos git checkout — <nombre_de_archivo>, este comando nos revertirá el fichero al estado el que se encuentra en el ultimo commit.

Git commit – -amend

Y por ultimo, un error que es bastante frecuente es el introducir un error ortográfico u olvidar algo en un commit, si sucede que el mensaje de tu confirmacion no es el que quieres, por las razones que sean, mientras no hayas hecho push, puedes ejecutar git commit –amend, como git commit, este es un comando interactivo, que nos abrirá nuestro editor de texto y nos mostrara el mensaje del commit actual, una vez allí procederemos como si de un commit normal se tratase y al finalizar y guardar el archivo, esta confirmación se actualizara con los cambios realizados y estará lista para ser pusheada.

Y con esto nos despedimos por ahora, en la próxima entrega hablaremos sobre configuraciones del repositorio y un tema muy, muy interesante, las ramificaciones. Para cualquier duda, pregunta, comentario, soborno o amenaza, podéis usar los comentarios o en nuestras redes sociales Facebook y Twitter.

 

One Comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *