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á).