Если вы хотите оформить заказ (отменить изменения) из unstaged измененных файлов, соответствующих заданному шаблону, это работает:
Macos:
git checkout $(git st -s | sed -E 's/^.{2}//' | grep '\.foo$')
Unix:
git checkout $(git st -s | sed -r 's/^.{2}//' | grep '\.foo$')
Я проверял это только с M
измененными файлами. YMMV, если вы также переименовали / удалили / конфликтовали файлы.