Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.gitignore在任何深度只能跟踪目录中的一个文件_Git_Gitignore - Fatal编程技术网

.gitignore在任何深度只能跟踪目录中的一个文件

.gitignore在任何深度只能跟踪目录中的一个文件,git,gitignore,Git,Gitignore,我试图忽略命名目录中可能位于任何深度的所有文件,但不包括单个文件。因此,在这样的结构中,我希望跟踪build/.gitcept的任何出现,但忽略build/中及其下的所有其他文件。要跟踪的项目用++标记。要忽略的项标记为-- 我试过很多很多组合。我的症结似乎在于任何深度的构建。我试图避免为每个存在build/的路径创建条目。我也不想在build/的每个实例中创建.gitignore文件 $ git --version git version 2.20.1 如果希望能够排除文件,

我试图忽略命名目录中可能位于任何深度的所有文件,但不包括单个文件。因此,在这样的结构中,我希望跟踪build/.gitcept的任何出现,但忽略build/中及其下的所有其他文件。要跟踪的项目用++标记。要忽略的项标记为--

我试过很多很多组合。我的症结似乎在于任何深度的构建。我试图避免为每个存在build/的路径创建条目。我也不想在build/的每个实例中创建.gitignore文件

    $ 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/**