Inicio Informática Git, el sistema de gestión de código fuente descentralizado (Vol.3)

Git, el sistema de gestión de código fuente descentralizado (Vol.3)

Publicado por entreunosyceros

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Una vez más aquí. En esta ocasión vamos a continuar la serie de artículos sobre el sistema de gestión de código fuente descentralizado llamado git. En el último artículo lo dejamos en Cómo borrar archivos borrados accidentalmente, por lo que vamos a continuar en Cómo recuperar versiones.

Recuperar versiones

Para ejecutar esta recuperación de versiones vamos a suponer que ya hemos efectuado diferentes cambios sobre un fichero, pero supongamos que necesitamos recuperar un código que escribimos anteriormente. Git nos va a permitir situarnos en el momento del commit que nos interesa.

listar commits para recuperar versiones

Para hacer esto, es imprescindible indicar un número de commit que corresponde con ese momento. Por eso, para empezar necesitaremos listar esos momentos con git log. Justo para esto resultan importantes los mensajes que hayamos escrito a la hora de realizar el commit, ya que nos pueden resultar identificativos del momento del proyecto.

Recuperar con git chekout

En la última captura de pantalla se puede ver que cada commit cuenta con un código hash único. Este código nos servirá si lo utilizamos con git checkout para movernos a ese punto en concreto del tiempo. Hay que decir que no necesitaremos poner el código entero, basta con utilizar los primero caracteres.

En este ejemplo vamos a movernos al commit que indica que se ha añadido el archivo README.md. Para hacerlo sobre habría que utilizar el comando:

git checkout número de commit
git checkout 447d9d

Al hacer esto, git se encuentra en modo detached. Esto nos permitirá mirar, hacer cambios y guardarlos o bien ignorarlos y crear nuevos cambios con un nuevo checkout.

Para salir de ese estado, basta con hacer:

git checkout master
git checkout master

Recuperar con git show

Otra forma de recuperar archivos de otros commits es utilizando el comando git show. Este comando va a mostrar contenidos de ramas, commits, etc … y permite recuperar contenidos de archivos.

Por defecto git show muestra información del último commit:

git show por defecto
git show

Además también se puede indicar un commit concreto. Esto nos ofrecerá toda la información y cambios del mismo:

git show número de commit
git show 447d9d

Para recuperar un archivo en concreto, bata con indicar la ruta del mismo:

git show 447d9d:README.md

El anterior comando nos mostrará el contenido del archivo, por lo que podremos guardar ese contenido copiando la salida y guardándola con una redirección:

git show 447d9d:README.md > README.md

Diferencias

Creo que ya he mencionado anteriormente que el comando para mostrar diferencias es git diff. Además este también permite comparar diferencias entre distintos commits. Esto lo conseguiremos indicando los identificadores de los commits que queramos comparar.

Para obtener los identificadores, solo necesitaremos ejecutar:

git log --pretty --oneline

Ahora que ya los tenemos, vamos a comparar los dos últimos que se han listado:

comparar dos commits con git diff
git diff 50afabd 447d9da

Eliminar el repositorio

Esta parte es la más sencilla de todo lo visto hasta ahora. Podemos cargarnos el repositorio de un proyecto de git borrando el directorio .git que encontramos dentro del directorio sobre el que estamos trabajando con el comando:

rm -rf .git

Para ejecutar esto, hay que tenerlo muy claro, ya que si lo llevamos a cabo nos cargaremos todo el trabajo que hemos realizado hasta ahora.

Hasta aquí el volumen 3 de esta serie del sistema de gestión de código fuente descentralizado. Pronto llegará la siguiente entrega, en la que hablaremos sobre el uso de ramas o branches.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.