Restablecer archivo para que sea igual que la rama maestra en Git

Ashok Chapagai 13 septiembre 2023
  1. Restablecer archivos a la rama master en Git
  2. Restablecer Archivos a una Confirmación Específica en Git
  3. Conclusión
Restablecer archivo para que sea igual que la rama maestra en Git

Supongamos que hay un archivo importante en la rama master que no debía ser editado, pero lamentablemente, ya ha sido editado y confirmado varias veces en la rama dev. Ahora deseas descartar todos los cambios realizados en el archivo y cambiar su estado para que sea igual al de la rama master. Existe una forma sencilla de lograr esto sin complicaciones.

Restablecer archivos a la rama master en Git

En Git, el comando git checkout es una herramienta versátil que se utiliza para diversas tareas, como cambiar entre ramas, crear nuevas ramas, restaurar archivos y más.

Cuando usamos git checkout para restablecer archivos a la rama master, básicamente le estamos diciendo a Git que reemplace el contenido de los archivos en nuestra rama actual con los de la rama master.

Ahora que tenemos una comprensión básica de git checkout, veamos los pasos para restablecer archivos específicos a la rama master.

Paso 1: Abrir una Terminal

Para empezar, abre tu terminal o prompt de comandos. Utilizaremos comandos de Git para restablecer archivos, por lo que tener una terminal es esencial.

Paso 2: Navegar hasta tu Repositorio

Utiliza el comando cd para navegar hasta el directorio de tu repositorio de Git. Por ejemplo:

cd /path/to/your/repo

Reemplaza /ruta/a/tu/repo con la ruta real de tu repositorio de Git.

Paso 3: Verificar la Rama Actual

Antes de realizar cualquier restablecimiento, verifica que te encuentres en la rama desde la cual deseas restablecer archivos. Puedes verificar tu rama actual utilizando el siguiente comando:

git branch

Este comando mostrará una lista de ramas, con la rama actualmente seleccionada indicada con un asterisco (*).

Paso 4: Realizar un Restablecimiento con Git Checkout

Ahora, usemos el comando git checkout para restablecer archivos a la rama master. Utiliza el siguiente comando:

git checkout master -- file1 file2 ...

Reemplaza archivo1, archivo2, etc., con los nombres de los archivos que deseas restablecer. Puedes especificar múltiples archivos separando sus nombres con espacios.

Por ejemplo, si deseas restablecer dos archivos llamados archivo1.txt y archivo2.txt, el comando sería:

git checkout master -- file1.txt file2.txt

Un Vistazo Detallado al Comando git checkout

  • git checkout: Este es el comando de Git utilizado para diversas operaciones, como cambiar entre ramas y restablecer archivos.
  • master: Esto especifica la rama de origen de la cual deseas tomar los archivos. En este caso, es la rama master.
  • --: Estos dos guiones son utilizados para separar la rama o confirmación de las rutas de archivo. Le indica a Git que los siguientes elementos son rutas de archivo, no ramas o confirmaciones.

Paso 5: Verificar el Estado

Después del restablecimiento, es una buena práctica verificar el estado de tu directorio de trabajo utilizando:

git status

Esto te mostrará qué archivos han sido modificados, agregados o eliminados en comparación con la rama master.

Paso 6: Confirmar tus Cambios

Si estás satisfecho con los cambios y listo para confirmar, utiliza los siguientes comandos:

git add .
git commit -m "Your commit message"

Reemplaza "Tu mensaje de confirmación" con un mensaje significativo que describa tus cambios.

Restablecer Archivos a una Confirmación Específica en Git

En Git, el comando git reset se utiliza para restablecer la rama actual a un estado específico, como una confirmación específica.

Cuando usamos git reset para restablecer archivos a una confirmación específica, le estamos indicando a Git que mueva el puntero de la rama a esa confirmación, opcionalmente actualizando también el directorio de trabajo y la área de preparación (índice).

Veamos los pasos para restablecer archivos específicos a una confirmación particular en Git.

Paso 1: Abrir una Terminal

Comienza abriendo tu terminal o prompt de comandos. Utilizaremos comandos de Git, por lo que es esencial tener una terminal.

Paso 2: Navegar hasta tu Repositorio

Utiliza el comando cd para navegar hasta el directorio de tu repositorio de Git. Por ejemplo:

cd /path/to/your/repo

Reemplaza /ruta/a/tu/repo con la ruta real de tu repositorio de Git.

Paso 3: Identificar la Confirmación Objetivo

Debes identificar la confirmación específica a la que deseas restablecer tus archivos. Puedes utilizar git log para ver el historial de confirmaciones y encontrar el identificador de la confirmación. Por ejemplo:

git log

Este comando mostrará el historial de confirmaciones, con cada confirmación identificada por un identificador único (una larga cadena alfanumérica).

Paso 4: Realizar el Restablecimiento con Git Reset

Ahora, usemos el comando git reset para restablecer archivos específicos a la confirmación objetivo. La sintaxis básica es la siguiente:

git reset <commit> -- <file1> <file2> ...

Reemplaza <commit> con el hash del commit, el nombre de la rama o el nombre de la etiqueta a la que deseas regresar. Reemplaza <file1>, <file2>, y así sucesivamente con los nombres de los archivos que deseas regresar. Puedes especificar varios archivos separando sus nombres con espacios.

Por ejemplo, si deseas regresar dos archivos llamados file1.txt y file2.txt a un commit con el hash abc123, el comando sería:

git reset abc123 -- file1.txt file2.txt

Un Vistazo Más de Cerca al Comando git reset

  • git reset: Este es el comando de Git utilizado para regresar ramas y archivos.
  • <commit>: Reemplaza este marcador de posición con el hash del commit, el nombre de la rama o el nombre de la etiqueta a la que deseas regresar tus archivos.
  • --: Este doble guion se utiliza para separar el commit de las rutas de archivo. Le indica a Git que los elementos siguientes son rutas de archivo, no ramas o commits.

Paso 5: Verificar el Estado

Después del reset, es esencial verificar el estado de tu directorio de trabajo usando:

git status

Esto mostrará qué archivos han sido modificados, agregados o borrados en comparación con el commit de reset.

Paso 6: Hacer un Commit de los Cambios

Si estás satisfecho con el reset y listo para hacer un commit, utiliza los siguientes comandos:

git add .
git commit -m "Your commit message"

Reemplaza "Tu mensaje de commit" con un mensaje significativo que describa los cambios introducidos por el reset.

Alternativa: Utilizar git checkout

Una forma alternativa de lograr la misma tarea puede ser:

git checkout <commit_hash> <filename>

Esto también ayuda a lograr el mismo resultado.

Conclusión

Regresar archivos a la rama master en Git es una habilidad fundamental para cualquier desarrollador que trabaje en proyectos colaborativos.

El comando git checkout te permite sincronizar tu trabajo con los últimos cambios en la rama master sin esfuerzo.

Siguiendo los pasos descritos en esta guía, puedes regresar archivos específicos con confianza, asegurando que tu proyecto se mantenga consistente y actualizado.

Recuerda que Git proporciona varios mecanismos para regresar archivos, como git reset para regresar a commits específicos.

Cada método tiene sus casos de uso, así que elige el que mejor se adapte a tus necesidades.

Ya sea que estés corrigiendo errores o incorporando cambios de la rama master, la flexibilidad de Git garantiza que tus flujos de trabajo de control de versiones sean eficientes y confiables.

Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub

Artículo relacionado - Git Reset