generalized .gitignore