me gustaría correrGIT: Quiero unstage todos los archivos que coinciden con un patrón determinado
git reset *.foo
errores pero esto a cabo.
Creo que necesito usar un tubo, pero no estoy seguro de cómo hacerlo.
Gracias!
me gustaría correrGIT: Quiero unstage todos los archivos que coinciden con un patrón determinado
git reset *.foo
errores pero esto a cabo.
Creo que necesito usar un tubo, pero no estoy seguro de cómo hacerlo.
Gracias!
for i in `git status --porcelain | grep '^D.*\.foo$' | sed 's/^D \+//'`; do
git reset HEAD "$i"
git checkout "$i"
done
Si está utilizando Powershell, lo siguiente funcionará.
gci -re -in *foo | %{ git reset $_ }
En una aplicación GUI como Git SmartGit Me filtrar los archivos mostrados por el patrón *.foo
, pulse Ctrl + A para seleccionar todos los archivos filtrados e invocar el comando Unstage.
Esto debería funcionar en cygwin y env UNIX
git reset $(git diff --name-only --cached | grep *.foo)
P. ej Quiero hacer coincidir todas las "migraciones" en la ruta.
git diff --name only | migraciones de grep | xargs git checkout
Si desea la caja (deshacer los cambios) de unstaged archivos modificados que coinciden con un patrón dado, esto funciona:
macOS:
git checkout $(git st -s | sed -E 's/^.{2}//' | grep '\.foo$')
Unix:
git checkout $(git st -s | sed -r 's/^.{2}//' | grep '\.foo$')
Solo he probado esto con M
archivos modificados. YMMV si tiene archivos renombrados/eliminados/en conflicto también.
Nota: estos archivos se han creado como eliminados. es decir, los archivos ya no están en mi directorio de trabajo. Así que supongo que necesito algo como git checkout * .foo – Jacko