Gitignore 除了目录及其子文件之外的所有内容

Gitignore everything except a dir with its subfiles

我想排除除单个目录之外的所有文件,我见过其他解决方案,但 none 有效:

!home/
home/*
!home/.bashrc

home/some_dir/*
!home/some_dir/src/

home/some_dir/src/*
!home/some_dir/src/some_other_dir/

Git 可以看到 .bashrc.gitignore 但看不到 some_other_dir.

好的,我找到了解决方案:

!home/
home/*

!home/some_dir
home/some_dir/*

!home/some_dir/src
home/some_dir/src/*

!home/some_dir/src/some_other_dir

!home/.bashrc