2014-09-02 9 views
0

Я использовал этот пост Removing multiple files from a Git repo that have already been deleted from disk, чтобы выяснить, как удалить сразу несколько файлов с помощью git rm.Как удалить все удаленные файлы из репо, за исключением других

Теперь я хотел бы сделать это, за исключением одного каталога. Я пробовал:

git rm $(git ls-files --deleted --exclude='sites/all/modules/imagecache_actions/') 

но это не сработало. Я злоупотребляю тегом exclude?

+1

Если только изменения являются удалениями, просто используйте 'git add -u .', чтобы выполнить все обновления/удаления, а затем используйте' git reset ', чтобы отключить один каталог, который вы хотите оставить отдельно. – meagar

+0

Это проблема, есть и модификации. Итак, я бы хотел, чтобы чистый способ их исключения – user1015214

ответ

0
git ls-files -d | sed '/^sites\/all\/modules\/imagecache_actions\//d' | xargs git rm 

Опция -x --exclude работает только с необработанными файлами.