Joaquin Martinez

Depura tus errores y construye la mejor versión de ti, cada línea cuenta.

Renombrar y eliminar archivos en git: Guía con git mv y git rm

10-01-2025
Git y GitHub
Git
Cover Post

En el día a día del desarrollo de software, es común necesitar renombrar archivos o eliminar archivos de tu proyecto. Realizar estas acciones de forma manual puede romper el historial de cambios en tu repositorio de Git. Este post te guiará a través de los comandos correctos, git mv y git rm, para gestionar tus ficheros de manera segura y mantener un registro histórico impecable.

Renombrar un fichero con Git

Para ilustrar este punto, primero crearemos un archivo nuevo (destruir-mundo.md) y lo agregaremos al control de versiones de Git. Una vez que lo hemos modificado, lo preparamos para el commit con git add y finalmente lo guardamos en el historial del repositorio.

alt text

alt text

alt text

Ahora, si queremos cambiar el nombre de este archivo y no utilizamos un comando de Git, el sistema de control de versiones no tendrá un registro histórico de que ese fichero existió previamente. En su lugar, interpretará que el archivo original fue borrado y que un nuevo archivo con un nombre distinto ha sido añadido. Esto rompe la trazabilidad y el registro de cambios asociados al fichero original.

Para solucionar este problema y mantener el historial completo, utilizamos el comando git mv. La sintaxis es la siguiente:

git mv [nombre_antiguo_del_fichero.md] [nuevo_nombre_del_fichero.md]

En nuestro caso, el comando sería:

git mv destruir-mundo.md salvar-mundo.md

El comando mv hace referencia a “move” (mover). Al mover el archivo dentro de la misma carpeta, lo que realmente hace Git es renombrarlo. Este comando funciona de manera atómica, ya que elimina el archivo original y añade el nuevo, pero Git lo interpreta como un simple cambio de nombre, conservando así su historial.

alt text

Como se puede observar, el resultado es correcto. El editor de código detecta el cambio de nombre y lo marca con una R (Rename), confirmando que el renombrar de archivos en Git se ha realizado correctamente.

alt text

alt text

Si ejecutamos git status, podemos ver que Git también ha registrado este cambio y lo ha añadido automáticamente al área de staging. Por lo tanto, solo queda hacer el commit correspondiente para guardar el cambio de nombre en el historial del proyecto.

alt text

Eliminar un fichero con Git

Supongamos que ahora necesitamos eliminar archivos en Git, específicamente el fichero salvar-mundo.md. Aunque podríamos borrarlo directamente desde el explorador de archivos o el editor de código, la forma recomendada es a través de Git para que el repositorio registre esta acción de manera oficial.

Para ello, utilizamos el comando git rm, cuya sintaxis es simple y directa:

git rm [nombre_del_fichero.md]

En nuestro caso, el comando sería:

git rm salvar-mundo.md

alt text

Tras ejecutar este comando, el archivo ha sido eliminado de tu disco, pero Git aún lo mantiene en el área de staging. Para que la eliminación se confirme en el historial del proyecto, debemos realizar el commit final.

git commit -m "Archivo salvar-mundo.md eliminado"

alt text

Una vez hecho el commit, Git registra la eliminación y ya no rastrea el fichero. Si por alguna razón quisieras recuperar este archivo, podrías hacerlo usando el hash de un commit anterior, lo que demuestra la importancia de usar los comandos correctos para mantener la integridad del historial.

Deshacer cambios antes de un commit

¿Qué sucede si te equivocas al renombrar archivos en Git o al eliminarlos antes de hacer un commit? Puedes deshacer la acción.

  • Para revertir un git mv o git rm antes del commit, utiliza el siguiente comando, que moverá el archivo del staging y revertirá los cambios en tu directorio de trabajo:

      git restore --staged <fichero>
    
  • Si solo necesitas sacar el archivo del staging para no hacer un commit con el cambio, pero quieres mantener el archivo renombrado o eliminado en tu directorio, puedes usar:

      git rm --cached <fichero>
    

Los comandos git mv y git rm son herramientas fundamentales para cualquier desarrollador que trabaje con Git. Permiten gestionar los archivos de tu proyecto de manera profesional, garantizando que el historial de tu repositorio sea preciso y coherente. Al dominar estas herramientas, te aseguras de que tu control de versiones sea robusto y confiable, facilitando la colaboración y la gestión de proyectos a largo plazo.

Post Siguiente

Renombrar y eliminar archivos con Git y VS Code

Post Anterior

Viajes en el tiempo con git: Cómo usar git reset y git reflog