Con Git, ¿cómo puedo enviar una carga de files eliminados de una vez?

Tengo una carga de files eliminados que deseo confirmar.

Pero no quiero escribir git rm para cada uno.

Si escribo git rm. -r intentará y eliminará todo.

¿Qué escribo para confirmar todas estas eliminaciones de una vez?

Ver el estado de git a continuación Modificado pero no actualizado: (use "git add / rm …" para actualizar lo que se va a enviar) (use "git checkout – …" para descartar cambios en el directory de trabajo)

deleted: ProjectX/ProjectX/Content/Site.css deleted: ProjectX/ProjectX/Controllers/HomeController.cs deleted: ProjectX/ProjectX/Global.asax deleted: ProjectX/ProjectX/Global.asax.cs deleted: ProjectX/ProjectX/Models/HomeIndexView.cs deleted: ProjectX/ProjectX/ProjectX.csproj deleted: ProjectX/ProjectX/Properties/AssemblyInfo.cs deleted: ProjectX/ProjectX/Scripts/MicrosoftAjax.debug.js deleted: ProjectX/ProjectX/Scripts/MicrosoftAjax.js deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcAjax.debug.js deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcAjax.js deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcValidation.debug.js deleted: ProjectX/ProjectX/Scripts/MicrosoftMvcValidation.js deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2-vsdoc.js deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2.js deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2.min-vsdoc.js deleted: ProjectX/ProjectX/Scripts/jquery-1.3.2.min.js deleted: ProjectX/ProjectX/Scripts/jquery.validate-vsdoc.js deleted: ProjectX/ProjectX/Scripts/jquery.validate.js deleted: ProjectX/ProjectX/Scripts/jquery.validate.min-vsdoc.js deleted: ProjectX/ProjectX/Scripts/jquery.validate.min.js deleted: ProjectX/ProjectX/Views/Home/Index.aspx deleted: ProjectX/ProjectX/Views/Shanetworking/Error.aspx deleted: ProjectX/ProjectX/Views/Shanetworking/Site.Master deleted: ProjectX/ProjectX/Views/Web.config deleted: ProjectX/ProjectX/Web.config 

 git add -u 

Realizará todos los cambios, incluidas las eliminaciones. Esta suele ser la forma más sencilla de avanzar. Puede restringirlo a ciertas routes si es más adecuado.

p.ej

 git add -u ProjectX 

Después de hacer cualquiera de las dos cosas, puede usar la forma de restablecimiento de la ruta para 'no grabar' cualquier cambio que no desee.

 git reset -- dontcommitme.txt 

Para estar absolutamente seguro de que solo estás organizando eliminaciones, deberías hacer algo como esto:

 git diff --name-only --diff-filter=D | xargs git rm -- 

O si tiene acceso a un xargs GNU y necesita copyr con espacios en blanco en los nombres de file:

 git diff -z --name-only --diff-filter=D | xargs -0 git rm -- 

git commit -a

debería funcionar, siempre que esos sean sus únicos cambios (agregará todos los files sin procesar y confirmará).