Unstage все удаленные файлы в Git

Я хочу удалить все удаления файлов. Есть ли простой способ?

Я хочу применить это к шаблону файлов всех удалений.

4 ответов


выход git status --porcelain - отличный способ построить однострочные и скрипты для таких задач:

git status --porcelain | awk ' == "D" {print }' | xargs git reset HEAD

в случае, если ваш путь - / имена файлов возвращаются из git status содержать space символы, вызов awk смогите быть доработано для включения весь (цитируемый) путь / имя файла, включая пробелы:

git status --porcelain|awk ' == "D" {print substr(, index(,))}'|xargs git reset HEAD

на всякий случай, если кто-то еще использует git с PowerShell, вот версия powershell отличного ответа @jefromi:

git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }

см. раздел "распаковка поэтапного файла"в этой книге.