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:
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.
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