Diferencia entre Git RM --Cached y Git Reset File

John Wachira 15 febrero 2024
Diferencia entre Git RM --Cached y Git Reset File

Este artículo analiza la diferencia entre los comandos git rm --cached y git reset<file>. Discutiremos la función de cada comando en un ajuste para captar las diferencias entre los dos.

Diferencia entre git rm --cached y git reset<archivo>

Para facilitar el contexto, exploraremos lo que puede lograr cada comando y luego analizaremos los diferentes resultados que muestran los dos comandos. Saltemos directamente.

el comando git rm --cached

A veces, Git puede darte la siguiente sugerencia después de ejecutar el comando git status.

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   .env

Intentemos desorganizar el archivo .env usando la opción rm. Ejecutaremos lo siguiente:

$ git rm --cached .env

Ejecutemos el comando git status para verificar el estado de nuestro directorio de trabajo.

$ git status

Producción:

git rm &ndash;imagen en caché

Del resultado anterior, podemos ver que nuestro archivo .env se eliminó pero permanece en archivos sin seguimiento. Veamos qué hará el comando git reset<file>.

el comando git reset <archivo>

Ejecutaremos el comando git reset como se muestra a continuación:

$ git reset HEAD .env

Ahora podemos ejecutar el comando git status para verificar nuestro árbol de trabajo.

$ git status

Producción:

git reset imagen

Del resultado anterior, podemos ver que el comando git reset <archivo> ha eliminado las modificaciones realizadas en el archivo.

El comando git rm --cached prepara un archivo para su eliminación, pero mantiene el archivo sin seguimiento. Por otro lado, el comando git reset <archivo> solo eliminará un archivo.

La opción git rm --cached es ideal cuando desea eliminar un archivo sin seguimiento sin modificar el árbol de trabajo. El comando homólogo, git reset <file> restablecerá el índice y no el árbol de trabajo.

En pocas palabras, el comando git rm --cached eliminará las rutas en el índice y las dejará sin seguimiento, mientras que el comando git rest<file> restablecerá solo el índice. Use el comando git rm --cached con archivos sin seguimiento.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artículo relacionado - Git rm

Artículo relacionado - Git Reset