gitignore 忽略二级目录中除 config.xml 文件以外的所有文件?
gitignore ignore all except config.xml file inside second-level directory?
我用谷歌搜索但很难找到合适的解决方案。
如果我有以下文件,如何忽略除这三个文件之外的所有文件?
- package-01/config.xml
- package-02/config.xml
- package-03/config.xml
./
|-- .git/
|-- .gitignore
|-- README.md
|-- config.xml
|-- configuration
|-- package-01/
| |-- settings/
| | |-- id
| | `-- links
| |-- config.xml
| `-- other_files
|-- package-02/
| |-- settings/
| | |-- id
| | `-- links
| |-- config.xml
| `-- other_files
|-- package-03/
| |-- settings/
| | |-- id
| | `-- links
| |-- external_packages/
| | |-- 1/
| | | |-- settings.xml
| | | |-- config.xml
| | | `-- id
| | |-- 2/
| | | |-- settings.xml
| | | |-- config.xml
| | | `-- id
| |-- config.xml
| `-- other_files
我试过了但是失败了。
*
!.gitignore
!README.md
!/**/*.xml
!**/*.xml
!**.xml
!/*/*.xml
!*/*.xml
排除包含 config.xml
的目录被忽略,然后忽略它们的所有内容但排除每个 config.xml
.
/*
!.gitignore
!README.md
!/package-01
/package-01/**
!/package-01/config.xml
!/package-02
/package-02/**
!/package-02/config.xml
!/package-03
/package-03/**
!/package-03/config.xml
正如 ElpieKay 在评论中提到的那样,您的方法确实存在问题:
It is not possible to re-include a file if a parent directory of that file is excluded.
我用谷歌搜索但很难找到合适的解决方案。 如果我有以下文件,如何忽略除这三个文件之外的所有文件?
- package-01/config.xml
- package-02/config.xml
- package-03/config.xml
./
|-- .git/
|-- .gitignore
|-- README.md
|-- config.xml
|-- configuration
|-- package-01/
| |-- settings/
| | |-- id
| | `-- links
| |-- config.xml
| `-- other_files
|-- package-02/
| |-- settings/
| | |-- id
| | `-- links
| |-- config.xml
| `-- other_files
|-- package-03/
| |-- settings/
| | |-- id
| | `-- links
| |-- external_packages/
| | |-- 1/
| | | |-- settings.xml
| | | |-- config.xml
| | | `-- id
| | |-- 2/
| | | |-- settings.xml
| | | |-- config.xml
| | | `-- id
| |-- config.xml
| `-- other_files
我试过了但是失败了。
*
!.gitignore
!README.md
!/**/*.xml
!**/*.xml
!**.xml
!/*/*.xml
!*/*.xml
排除包含 config.xml
的目录被忽略,然后忽略它们的所有内容但排除每个 config.xml
.
/*
!.gitignore
!README.md
!/package-01
/package-01/**
!/package-01/config.xml
!/package-02
/package-02/**
!/package-02/config.xml
!/package-03
/package-03/**
!/package-03/config.xml
正如 ElpieKay 在评论中提到的那样,您的方法确实存在问题:
It is not possible to re-include a file if a parent directory of that file is excluded.