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 status
mais legíveis. Eu estava tentando analisar a saída de git status
com sed
quando 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 ~/tmp
diretó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-files
e xargs
. Obrigado a @mysz e @twolfson por apontarem que git add -u
atinge o mesmo objetivo!