.gitignore 模式格式 ** 不起作用

.gitignore pattern format ** doesn't work

我试图忽略我的 .gitignore 中具有特定模式格式 /**/ 的一些文件夹(我在此处找到了文档:http://git-scm.com/docs/gitignore),如下所示:

src/**/Entity/*.php~

但是当我在终端中执行 git status 时,它 return 对我来说是这样的:

Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       src/AVC/MediasBundle/Entity/CapturePhotoVideo.php~
#       src/AVC/MediasBundle/Entity/CodeReconnaissanceVocale.php~
#       src/AVC/MediasBundle/Entity/CodeTraduction.php~
#       src/AVC/MediasBundle/Entity/DetailTransaction.php~
#       src/AVC/MediasBundle/Entity/Langue.php~
#       src/AVC/MediasBundle/Entity/Media.php~
#       src/AVC/MediasBundle/Entity/MediaLangue.php~
#       src/AVC/MediasBundle/Entity/Offre.php~
#       src/AVC/MediasBundle/Entity/QualiteVideo.php~
#       src/AVC/MediasBundle/Entity/SousTitre.php~
#       src/AVC/MediasBundle/Entity/Transaction.php~
#       web/images/logo_black.svg

或者 src/AVC/MediasBundle/Entity/....php~ 中的每个文件夹都不应该出现...

但是如果在我的 .gitignore 中我用这一行 src/**/Entity/*.php~ 替换 le 行 src/AVC/MediasBundle/Entity/*.php~ 一切正常!

为什么模式格式 ** 在这里不起作用?

我刚刚在测试回购中对此进行了测试,这对我有用:

.gitignore

src/**/*.php~

我的猜测是添加带有双 * 的额外目录会导致一些问题。

在 Git 2.1.0 中,您问题中的忽略模式对我来说符合预期。我不确定为什么它不适合你。

你的Git版本比较旧(源码好像是released mid-2012)。可能值得升级到适用于您的操作系统的最新版本,看看是否能解决问题。

I just don't want to upload temporary files on my repository.

在这种情况下,我建议采用更简单的模式:

*~

这种非常常见的忽略模式会忽略所有以 ~.

结尾的文件