git否定排除隐藏文件的隐藏目录

git negation of excluding hidden directory with hidden files

我使用 git 管理主目录中的配置文件。 这是我的主目录中 .gitignore 文件的简化内容。

*
!.bashrc
!.bash_aliases
!.gitignore

我在我的主目录 .bashrc_includes 中创建了一个包含几个文件的新目录:

.bashrc_includes/
├── .bashrc_android
├── .bashrc_asdf
└── .bashrc_sdkman

我想将此目录及其中的所有文件添加到存储库中。我试图将 !.bashrc_includes/* 添加到我的 .gitignore,但看起来它仍然被 git 忽略。

正确的做法是什么?

添加!.bashrc_includes/*将从被忽略的文件中排除文件,但目录本身仍然被忽略!

以下.gitignore允许您从忽略的文件中排除目录和里面的文件:

*
!.bashrc
!.bashrc_includes/*
!.bashrc_includes/
!.bash_aliases
!.gitignore

您可以在这个问题中找到更深入的解释:.gitignore exclude folder but include specific subfolder