.gitignore在任何深度只能跟踪目录中的一个文件
我试图忽略命名目录中可能位于任何深度的所有文件,但不包括单个文件。因此,在这样的结构中,我希望跟踪build/.gitcept的任何出现,但忽略build/中及其下的所有其他文件。要跟踪的项目用++标记。要忽略的项标记为-- 我试过很多很多组合。我的症结似乎在于任何深度的构建。我试图避免为每个存在build/的路径创建条目。我也不想在build/的每个实例中创建.gitignore文件.gitignore在任何深度只能跟踪目录中的一个文件,git,gitignore,Git,Gitignore,我试图忽略命名目录中可能位于任何深度的所有文件,但不包括单个文件。因此,在这样的结构中,我希望跟踪build/.gitcept的任何出现,但忽略build/中及其下的所有其他文件。要跟踪的项目用++标记。要忽略的项标记为-- 我试过很多很多组合。我的症结似乎在于任何深度的构建。我试图避免为每个存在build/的路径创建条目。我也不想在build/的每个实例中创建.gitignore文件 $ git --version git version 2.20.1 如果希望能够排除文件,
$ git --version
git version 2.20.1
如果希望能够排除文件,则应确保从忽略规则中排除文件夹:
build/**
!build/**/
!build/**/.gitkeep
这是因为:
在您的情况下(在任何深度构建)
通过以下方式使其工作()
在您的版本中,我仍然得到build/file和build/dir/(但不是build/dir/file)。看起来我还是得到了一层我不应该得到的。我熟悉这样一个概念,即在排除家长后,某些内容无法重新包括在内,但我似乎排除得不够。@nelsonov好的,那么我在编辑后的答案中的第二个建议呢?结果对我来说似乎是一样的。下面是一些显示为未跟踪文件的示例(应该忽略):
gatewaysp8266-nrf24/build/file gatewaysp8266-nrf24/build/somedir/gatewaysp8266-rfm95/build/mysensors eeprom/build/eeprom.ino.eep mysensors eeprom/build/build.options.json mysensors eeprom/build/core/
@nelsonov.gtiignore在哪里?我刚刚测试过,它工作得很好。未检测到较低的生成
文件夹,即使它们包含.gitceep
。您使用的是什么版本的Git?在Linux(Rasbian 10和Debian 10)上的哪个OS?git版本2.20.1上。gitignore位于git存储库的根目录中以澄清(可能是必要的)我想在任何深度跟踪build/.gitkeep
的每个实例,但在任何深度忽略build/
中的任何其他内容。
build/**
!build/**/
!build/**/.gitkeep
**
!**/
!build/.gitkeep
!**/build/.gitkeep
build/**
!build/**/
!build/
!build/.gitkeep
!**/build/
!**/build/.gitkeep
**/build/**