为什么GIT会忽略tmp文件夹?

问题描述

刚刚注意到(4年后),git似乎自动忽略了我项目的任何子目录中的任何tmp文件夹。现在,我对此感到很满意,但这让我感到担忧:认情况下还有其他事情要忽略吗?

我的.gitignore确实有一行:

<div class="owl-carousel owl-theme">
  <div class="item-video" data-merge="1">
    <a class="owl-video" href="{{data.imageUrl}}"></a>
  </div>
</div>

但是,如果我删除该条目,我的所有tmp文件夹仍然会被忽略。

.gitignore中没有其他提及“ tmp”的内容 我看过其他文件例如“ .git / info / exclude”和“ .git / config”,但看不到任何内容。 我也看过了:

ngOnInit(): void {
 $(document).ready(function(){
     $('.owl-carousel').owlCarousel({
       nav:true,items:1,autoWidth: true,video:true
     })
   });
 }

它什么也不返回。

解决方法

好吧,感谢“ Guy Incognito”的尝试:

git add bla/bla/tmp/bla.txt

这表明,该路径被我的.gitignore文件之一忽略。 因此,我从.gitignore中删除了“ tmp /”,确实现在git不再忽略bla.txt(git status显示了它,git add .添加了它)。某些“ tmp”文件夹仍然被“忽略”,但实际上正如人们指出的那样(利亚姆),这些文件夹是空的。

似乎是这样的一行:

bla/
.gitignore中的

将忽略任何子目录中所有名为“ bla”的文件夹(及其内容)。我以为它只会忽略任何顶级“ bla”文件夹。

对此感到非常惊讶,以至于我抬起头来,感觉有点“微妙”:

bla/
.gitignore中的

将忽略.gitignore所在目录及其子文件夹中的所有名为“ bla”的文件夹。因此blafoo/bla都将被忽略。但是

bar/bla/

在您的.gitignore文件中,只会忽略bar/bla,而不会忽略例如foo/bar/bla

B.t.w。如果您只想忽略顶层文件夹,则可以使用:

/bla/
,

Git从未在工作目录中看到空文件夹。要添加一个临时文件夹,它必须包含Git跟踪的任何文件。如果您希望发送临时文件夹,以便在git-clone之后可以使用它,请将一个空白的空白文件放到该文件夹​​中。该文件的通用名称是.gitkeep。这对Git毫无意义,但允许后者将文件夹存储在存储库中。

touch tmp/.gitkeep
git add tmp/.gitkeep