Creo que probablemente te confundiste con el concepto de índice , como comentó @CB Bailey:
El área de ensayo es el índice.
Simplemente puede considerar el directorio provisional y el índice como la misma cosa.
Entonces, al igual que la respuesta de @Tim Henigan , supongo:
simplemente desea "deshacer" lo git add
que se hizo para ese archivo.
Aquí está mi respuesta:
Comúnmente, hay dos formas de deshacer una operación de escenario , como otras respuestas ya mencionadas:
git reset HEAD <file>
y
git rm --cached <file>
Pero, ¿cuál es la diferencia?
Suponga que el archivo se ha preparado y existe también en el directorio de trabajo , úselo git rm --cached <file>
si desea eliminarlo del directorio de ensayo y mantenga el archivo en el directorio de trabajo . Pero tenga en cuenta que esta operación no solo eliminará el archivo del directorio de ensayo sino que también lo marcará como deleted
en el directorio de ensayo , si utiliza
git status
después de esta operación, verá esto:
deleted: <file>
Es un registro de eliminar el archivo del directorio provisional . Si no desea mantener ese registro y simplemente desea deshacer la operación de un archivo en la etapa anterior, usegit reset HEAD <file>
en lugar.
-------- FIN DE LA RESPUESTA --------
PD: He notado algunas respuestas mencionadas:
git checkout -- <file>
Este comando es para la situación en la que el archivo se ha preparado , pero el archivo se ha modificado en el directorio de trabajo después de que se haya preparado, utilice esta operación para restaurar el archivo en el directorio de trabajo desde el directorio de ensayo . En otras palabras, después de esta operación, los cambios suceden en su directorio de trabajo , NO en su directorio de ensayo .