Faça backup de todos os arquivos modificados no git.

Tive alguns problemas com arquivos modificados que não consegui facilmente, mas não queria descartar totalmente minhas alterações, então desejei criar backups das versões modificadas.

git ls-filesé um pequeno comando excelente que exibe conjuntos de arquivos (como o git os vê) sem toda a decoração usada para torná-los git statusmais legíveis. Eu estava tentando analisar a saída de git statuscom sedquando alguém me informougit ls-files

Ver todos os arquivos modificados (um por linha)

git ls-files --modified

Edite todos os arquivos não controlados em diferentes guias

git ls-files --others --exclude-standard | vim -p

Faça backup de todos os arquivos modificados (para um ~/tmpdiretório existente ):

git ls-files --modified | xargs -i cp {} ~/tmp

Você pode canalizar a saída para qualquer coisa, eu simplesmente me vejo canalizando muito para xargs.

Edit: Esta dica foi originalmente sobre como adicionar todos os arquivos modificados usando ls-filese xargs. Obrigado a @mysz e @twolfson por apontarem que git add -uatinge o mesmo objetivo!