为什么 git 忽略 `.gitignore` 中提供的文件和模块的包含?

问题描述 投票:0回答:1

我无法忽略某些本地文件和模块,例如

node_modules
package-lock.json
,安装后通过在本地 git 中运行
git i
git install
来创建基本的 React v18.2.0 仪表板项目。

.gitignore
/node_modules
node_modules/*
.node_modules
也不起作用):

# dependencies
node_modules 
package-lock.json
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
/.env*

npm-debug.log*
.vercel

package.json

{
  "name": "batata",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "@types/react-bootstrap": "^0.32.36",
    "bootstrap": "^5.3.3",
    "react": "^18.2.0",
    "react-bootstrap": "^2.10.2",
    "react-dom": "^18.2.0",
    "react-nice-avatar": "^1.5.0"
  },
  "devDependencies": {
    "@types/react": "^18.2.66",
    "@types/react-dom": "^18.2.22",
    "@typescript-eslint/eslint-plugin": "^7.2.0",
    "@typescript-eslint/parser": "^7.2.0",
    "@vitejs/plugin-react": "^4.2.1",
    "eslint": "^8.57.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.6",
    "typescript": "^5.2.2",
    "vite": "^5.4.8"
  }
}

IDE截图:

Source Control

git visual-studio-code gitignore
1个回答
0
投票

要忽略项目任何级别的某个文件夹,请将

.gitignore
放在工作目录的根目录下,并在目录模式中添加尾部斜杠。

在您的情况下,条目应该是

node_modules/
。另外,请记住,如果斜线出现在模式的开头或中间,则这将相对于
.gitignore
文件的位置匹配,而不是在任何级别匹配。

引用.gitignore文档

  • 斜杠“/”用作目录分隔符。分隔符可能出现在 .gitignore 搜索模式的开头、中间或结尾。
  • 如果模式的开头或中间(或两者)有分隔符,则该模式相对于特定 .gitignore 文件本身的目录级别。否则,该模式也可能在 .gitignore 级别以下的任何级别匹配。
  • 如果模式末尾有分隔符,则该模式将仅匹配目录,否则该模式可以匹配文件和目录。
© www.soinside.com 2019 - 2024. All rights reserved.