Desembar todos os arquivos excluídos no Git
-
27-09-2019 - |
Pergunta
Eu quero se soltar todas as deletas de arquivo. Existe uma maneira fácil?
Quero aplicar isso ao padrão de arquivo de todas as exclusão.
Solução
A saída de git status --porcelain
é uma ótima maneira de construir liners e scripts para tarefas como esta:
git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD
Outras dicas
Caso seus nomes de caminho/arquivo devolvidos de git status
conterspace
Personagens, a chamada para awk
pode ser modificado para incluir todo o caminho/nome do arquivo (citado), incluindo espaços:
git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD
No caso de qualquer outra pessoa usar o Git com o PowerShell, aqui está uma versão do PowerShell da excelente resposta de @jefromi:
git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }
Veja a seção 'Desembando um arquivo encenado' neste livro.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow