HOWTO · Git
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.
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:
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:
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.