Agregué por error archivos usando el comando "git add dir". Todavía no he ejecutado "git commit". ¿Hay alguna manera de eliminar este directorio y todo lo que contiene dentro del commit?
Lo intenté git reset dir
, pero no funcionó. Aparentemente git reset file
es la forma de deshacerlo. Pero tengo tantos archivos y tan poco tiempo.
git reset <path>
actualiza el índice de esa ruta para que coincidaHEAD
(la confirmación actual). No toca el árbol de trabajo.Respuestas:
Para eliminar un directorio y todo lo que contiene del índice,
El
--cached
interruptor hace quegit rm
funcione solo en el índice y no toque la copia de trabajo. El-r
interruptor lo hace recursivo.fuente
--cached
interruptor. Sin embargo, he editado la respuesta para calificar que solo se aplica al índice.git reset HEAD folder
arreglo fijo ... pero antes de hacer esto, haz unagit status folder
, y asegúrate de que diga que 'eliminó' todos los archivos en esa carpetaQuerrás usargit rm --cached -r <dir>
. Este comando eliminará el contenido del directorio por etapas del índice.si el directorio ya fue rastreado, debe encontrar los archivos nuevos y viejos manualmente y desestabilizarlos ...Probablemente se ejecutegit reset <dir>
después de eso para restablecer los archivos existentes (y ya rastreados) dentro del directorio.Actualización 2019:
Simplemente ejecute
git reset directory
, eliminará todos los archivos recién agregados.fuente
git reset <dir>
suficientemente solo?git reset <dir>
funcionaría también. La respuesta es de 2011, así que no estoy seguro de si eso ya funcionó hace 8 años. Actualizaré la respuesta. ¡Gracias por la pista!Uso
find
yxargs
:fuente
Directorio de montaje
Desinstala todos los archivos y carpetas con los que realicé:
Confirmar directorio sin etapas
Para confirmar la eliminación del directorio y su contenido de la puesta en escena (es decir, "Cambios por confirmar"), ejecute lo siguiente:
o
para confirmar que ninguna de las carpetas o archivos previamente organizados todavía está preparada.
fuente
Un comando simple para eliminar un archivo / carpeta por etapas, que aún no se ha confirmado es -
git restore --staged <dir>
.fuente