Digamos que tengo un archivo en mi repositorio git llamado foo
.
Supongamos que se ha eliminado con rm
(no git rm
). Entonces el estado de git mostrará:
Changes not staged for commit:
deleted: foo
¿Cómo organizo esta eliminación individual de archivos?
Si lo intento:
git add foo
Dice:
'foo' did not match any files.
Respuestas:
Desde Git 2.0.0,
git add
también se realizarán eliminaciones de archivos.Documentos de Git 2.0.0 - git-add
fuente
Use
git rm foo
para organizar el archivo para su eliminación. (Esto también eliminará el archivo del sistema de archivos, si no se había eliminado previamente. Por supuesto, se puede restaurar desde git, ya que se registró previamente).Para organizar el archivo para su eliminación sin eliminarlo del sistema de archivos, use
git rm --cached foo
fuente
--cache
marcador para eliminar el archivo solo del repositorio y dejarlo sin tocar en el sistema de archivos.git status | grep 'deleted:' | cut -d':' -f2 | xargs -t -I {} git add -u "{}"
. Parece que otras respuestas muestran cómo organizar la eliminación de archivos correctamente (pero no cómo organizar los archivos ya eliminados). PD. elxargs
comando basado funciona para mí en Ubuntu 12.04, sin embargo, cuando lo hago manualmentegit add -u deleted_file.txt
no funciona. Mi git es 1.7.9.5git rm
felizmente organizará un archivo para su eliminación, incluso si ya se ha eliminado del sistema de archivos. Y como señala el comentario de OP sobre otra respuesta, querían organizar un archivo específico que ya se había eliminado.git rm
no presenta archivos ya eliminados. Se lanza este error:fatal: pathspec '~.SLDASM' did not match any files
. Aquí hay pantallas con prueba: i.imgur.com/cKNKGGe.png i.imgur.com/1p9JdWF.png . La primera captura de pantalla muestra claramente que 2 archivos se eliminan y no se organizan, la segunda captura de pantalla muestra que cuando escribogit rm "~$Box.SLDASM"
, arroja este error.A pesar de que es correcto de usar
git rm [FILE]
, alternativamente, podría hacerlogit add -u
.De acuerdo con la
git-add
documentación:Sobre el cual se actualizará el índice y los archivos se organizarán correctamente.
fuente
git add -A .
agregará todos los cambios, específicamente quería organizar un archivo eliminado.git add -u FolderWithDeletedFiles/
e hice lo que quería, graciasPara organizar todos los archivos eliminados manualmente, puede usar:
Para agregar un alias a este comando como
git rm-deleted
, ejecute:fuente
unknown option `deleted)
for /F %I in ('git ls-files --deleted') do git add -u %I
agregar todos los archivos eliminados listos
gracias comprobar para asegurarse
Usted debe ser bueno para ir
fuente
rm <file>
, sino más biengit rm <file>
git version 2.15.2 (Apple Git-101.1)
.Puedes usar
git rm -r --cached -- "path/to/directory"
para organizar un directorio eliminado.
fuente
Puedes usar este comando
fuente
para aquellos que usan git 2.x + en powershell:
fuente