Quiero borrar todos los archivos borrados. hay una manera fácil?Desescalonar todos los archivos eliminados en Git
Quiero aplicar esto al patrón de archivo de todas las eliminaciones.
Quiero borrar todos los archivos borrados. hay una manera fácil?Desescalonar todos los archivos eliminados en Git
Quiero aplicar esto al patrón de archivo de todas las eliminaciones.
La salida de git status --porcelain
es una gran manera de construir de una sola línea y scripts para tareas como esto:
git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD
Consulte la sección 'Desestabilizar un archivo en etapas' in this book.
El enlace va a un lugar divertido ahora parece, pero el libro es útil. – hiwaylon
En caso de que su camino-/nombres de archivo regresó de git status
contienen space
caracteres, la llamada a awk
puede ser modificado para incluir las entera (citado) ruta/nombre de archivo con espacios incluidos:
git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD
por si alguien lo demás usos git con PowerShell, aquí hay una versión Powershell de la excelente respuesta de @ jefromi:
git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }
impresionante. ¡¡Gracias!! Parece que necesito aprender algo de grep, sed y awk. – Jacko
@Jacko: Definitivamente cosas útiles. Podrías haber hecho esto fácilmente con sed: 'sed -n '/^D/s/^ D // p'. – Cascabel
En mi comentario anterior falta la comilla simple de cierre. – Cascabel