> --index-filter "git rm --cached -qr -- . && git reset -q -- filename" Hmm... I tried as you said, but it seems to lose history. In the below example, after rewriting there must be two commits for 'b' file but only one exists. ~$ git init filter-branch2 Initialized empty Git repository in /home/nori/mysrc/test/git/filter-branch2/.git/ ~/filter-branch2$ cd filter-branch2 ~/filter-branch2$ echo 1 > a ~/filter-branch2$ echo 1 > b ~/filter-branch2$ git add a b ~/filter-branch2$ git commit -m 'first' [master (root-commit) ae2b5fd] first 2 files changed, 2 insertions(+) create mode 100644 a create mode 100644 b ~/filter-branch2$ echo 2 >> b ~/filter-branch2$ git add b ~/filter-branch2$ git commit -m 'second' [master a32b84e] second 1 file changed, 1 insertion(+) ~/filter-branch2$ git filter-branch --index-filter "git rm --cached -qr -- . && git reset -q -- b" Rewrite a32b84ed7cec5686e43a47195dfa8114f83619f3 (2/2) Ref 'refs/heads/master' was rewritten ~/filter-branch2$ git log -- b commit 19611f9eaf412232e237afcc059d0324a862062f Author: Yi EungJun <semtlenori@xxxxxxxxx> Date: Tue Sep 18 23:51:53 2012 +0900 first Am I doing something wrong? On Mon, Sep 17, 2012 at 2:06 AM, Andreas Schwab <schwab@xxxxxxxxxxxxxx> wrote: > "Yi, EungJun" <semtlenori@xxxxxxxxx> writes: > >> 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' ' ')" > > Try instead first removing all files, then restoring the files you want > to keep. > > --index-filter "git rm --cached -qr -- . && git reset -q -- filename" > > Andreas. > > -- > Andreas Schwab, schwab@xxxxxxxxxxxxxx > GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 > "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html