Joaquin Martinez

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

Renombrar y eliminar archivos con Git y VS Code

13-01-2025
Git y GitHub
Git
Cover Post

Cómo renombrar y eliminar archivos en Git desde VS Code

En esta guía práctica, exploraremos el proceso de renombrar y eliminar archivos en un proyecto con Git, centrándonos en el uso de la interfaz gráfica de VS Code. Aunque el control de versiones se realiza a través de la consola, es crucial entender cómo Git interpreta estas acciones cuando se ejecutan desde una herramienta visual. Veremos el flujo de trabajo, los comandos y las mejores prácticas para mantener un historial limpio y seguro.

Renombrar archivos con Git y VS Code

El proceso de renombrar un archivo, por ejemplo, de superman.historia.md a superman.md, es intuitivo dentro de VS Code: simplemente haz clic derecho sobre el archivo y selecciona Cambiar nombre.

alt text

alt text

Una vez que haces el cambio de nombre, notarás un comportamiento interesante. Al consultar el estado de tu proyecto con git status, verás que Git no lo detecta como un archivo renombrado (R por renamed), sino como dos acciones distintas: un archivo eliminado y uno nuevo no rastreado (U por untracked). Esto puede parecer peligroso, ya que podrías perder el historial de ese archivo si no se maneja correctamente.

alt text

El proceso puede ser riesgoso si el archivo contiene información importante o si es parte del desarrollo de una funcionalidad clave. Si se pierde el historial, se pierde la capacidad de rastrear los cambios a lo largo del tiempo.

Para resolver esto, la solución es simple: mover el archivo al stage usando el comando git add . o haciendo clic en el signo de más (+) en la interfaz de VS Code.

alt text

En este punto, Git, al analizar el contenido de los archivos en el stage, notará la similitud entre el archivo eliminado y el nuevo. Al ser prácticamente idénticos, Git da por hecho que se trata del mismo archivo y que solo ha sido renombrado. Una vez que se agrega al stage, el estado cambiará a renamed, y ya puedes proceder a realizar el commit.

alt text

Como se puede observar, Git no tiene limitaciones cuando hacemos cambios, incluso desde fuera de la consola. Para reforzar este concepto, si usas git reset –hard HEAD~1 para deshacer el último commit (una práctica conocida como “viajes en el tiempo” en tu proyecto ), verás que el archivo vuelve a su estado original, con su nombre anterior.

alt text

alt text

Para volver a dejar el proyecto en el estado final, puedes usar git reflog para ver el historial de commits y luego git reset –hard para regresar a ese punto.

alt text

alt text

Eliminar archivos de un proyecto con Git

La eliminación de archivos suele ser más sencilla. Para ejemplificar, supongamos que ya no quieres el archivo batman.historia.md. Lo eliminas directamente desde el explorador de archivos de VS Code o de tu sistema operativo.

alt text

Si verificas el estado de tu proyecto con git status, notarás que Git reconoce la acción de eliminación, pero el archivo se muestra en la sección de “changes not staged for commit”. Para completar el proceso, solo necesitas mover el archivo al stage con git add . o con la interfaz gráfica, y luego realizar el commit con un mensaje apropiado.

alt text

alt text

alt text

Comandos vs. Interfaz Gráfica: git mv y git rm

Si bien VS Code facilita estas operaciones, es fundamental conocer los comandos de consola que las ejecutan de manera nativa y explícita:

  • Para renombrar: En lugar de hacer el cambio de nombre manual y luego git add, puedes usar el comando git mv [archivo_original] [nuevo_nombre]. Este comando se encarga de renombrar el archivo y, al mismo tiempo, lo prepara en el stage como un movimiento, lo que hace el proceso más directo y explícito.

  • Para eliminar: En lugar de borrar el archivo y luego hacer git add, el comando git rm [nombre_del_archivo] no solo elimina el archivo del disco, sino que también lo prepara para ser eliminado en el siguiente commit. Esta es la forma recomendada, ya que te aseguras de que Git registra la acción de forma correcta.

Recomendación: La principal diferencia entre usar los comandos git mv y git rm y la interfaz de VS Code es que los comandos son más explícitos y directos, lo que te da mayor control. La interfaz gráfica es más intuitiva, pero requiere que el proceso de “staging” se haga de forma manual para que Git detecte correctamente las acciones.

El manejo de archivos en Git, ya sea a través de la interfaz de VS Code o de la línea de comandos, es un proceso fundamental en el desarrollo de software. Es importante ser consciente de cómo Git interpreta cada una de estas acciones para asegurar que el historial del proyecto permanezca limpio y se mantenga el rastro de los cambios en los archivos. Utilizar los comandos correctos y verificar siempre el estado con git status son las mejores prácticas para evitar errores.

Post Siguiente

Cómo evitar archivos no deseados en git con .gitignore

Post Anterior

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