Git normally doesn’t clean ignored files unless the -x flag is specified, but strangely it cleans out when configured as you did (folder/*).
As @VonC pointed out, you should change your .gitignore-file to ignore the directory (data/) rather than its contents (data/*).
It’s a subtle difference, but it matters to git.