首页 > 解决方案 > git 忽略一些文件,但它不在 .gitignore 中

问题描述

我有本地 git 存储库,并且目录中有一个 .gitignore 和 .gitattributes 文件。我的 .svg 文件被 git 忽略了,但它不在 .gitignore 文件中

这是我的 .gitignore 文件

# CakePHP specific files #
##########################
/config/app.php
/config/.env
/logs/*
/tmp/*
/vendor/*

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

# Tool specific files #
#######################
# vim
*~
*.swp
*.swo
# sublime text & textmate
*.sublime-*
*.stTheme.cache
*.tmlanguage.cache
*.tmPreferences.cache
# Eclipse
.settings/*
# JetBrains, aka PHPStorm, IntelliJ IDEA
.idea/*
# NetBeans
nbproject/*
# Visual Studio Code
.vscode
# Sass preprocessor
.sass-cache/
.phpstorm.meta.php/*
.github

我用这个命令向我展示了被忽略的文件 git status --ignored ,结果如下:

.github/
.idea/
.phpstorm.meta.php/
codealike.json
config/app.php
logs/
plugins/AdminView/
plugins/MetronicAdminView/
plugins/SiteView/webroot.zip
tmp/
vendor/

文件夹 plugins 是 .svg 文件所在的位置

但是当我 git check-ignore **/ -v以前看到我忽略了这个文件夹插件时根本不显示

.gitignore:5:/logs/*    logs/
.gitignore:6:/tmp/*     tmp/
.gitignore:7:/vendor/*  vendor/

我怎样才能找到问题所在?

标签: gitgitignore

解决方案


我找到了答案。这是因为

Icon?

.gitigore在忽略.svg文件的 CakePHP中

我发现你应该写出git check-ignore -v正确的工作路径

所以当我跑步时我 git check-ignore -v plugins什么也没有收到

但是运行时

git check-ignore -v plugins/AdminView/webroot/img/icons/logout.svg

我收到了这个回复

.gitignore:16:Icon?     plugins/AdminView/webroot/img/icons/logout.svg

希望这可以帮助


推荐阅读