From: Yi, EungJun Date: Sun, 16 Sep 2012 16:28:31 GMT Subject: Remove all files except a few files, using filter-branch Message-ID: Hi, all. I want to remove all files except a few files, in the history of my git repository. I tried to do that as follows: git filter-branch --index-filter "git rm --cached --ignore-unmatch $(git ls-files | grep -v '^filename$' | tr '\n' ' ')" But this does not work well if there is a file whose name is not encoded in us-ascii or includes parenthesis. git-filter-branch is great to remove some files in my repository, but not good enough to remove all except only a few. Does anyone know the better way?