Cuando corro git status
, tengo un montón de líneas de la formaRetire todos los archivos borrados de "cambiado pero no se actualiza" en Git
deleted: dir/file.js
puedo quitar cada una de ellas por separado con git checkout -- dir/file.js
, pero debe ser una forma menos laboriosa de hacerlo. (Y sí, sé que debería haber utilizado git rm
en el primer lugar ...)
[actualización: Como Mark señala a continuación, git checkout --
realidad restaura un archivo eliminado, mientras que yo había pensado que elimina desde el índice git. Yo estaba un poco desconcertado, porque cuando se ejecuta git status
, que dice:
use "git checkout -- <file>..." to discard changes in working directory
Para mí, "descartar los cambios" no significa "restaurar un archivo eliminado", pero en la terminología git supongo que esto tiene sentido .]
que no entiendo. 'checkout' restaurará estos archivos eliminados pero usted dice que debería haber usado' git rm' en primer lugar para eliminar los archivos. ¿Desea restaurar estos archivos en su árbol de trabajo o eliminarlos del índice, así como su árbol de trabajo? –
También quiero eliminarlos del índice, que es lo que 'git checkout - [filename]' hace, mientras que 'git checkout [filename]' restaura los archivos. –
Eso no está bien, me temo, el '--' en' git checkout - 'es solo una forma de asegurarse de que' 'se interprete como una ruta en lugar del nombre de una rama (o una etiqueta o un commit). Si '' no es el nombre de una rama (& c), ambos formularios que mencione tendrán el mismo efecto: restaurarán el archivo a su estado en el índice. –