Skip to content

.gitignore 配置说明

作用

.gitignore 文件用于指定 Git 应忽略的文件或目录,避免将不必要的文件(如编译产物、配置文件、日志等)提交到仓库。

语法规则

gitignore
# 注释:以 # 开头的行被视为注释

# 忽略单个文件
node_modules/         # 忽略整个 node_modules 目录
dist/                 # 忽略 dist 目录
.DS_Store             # 忽略 macOS 系统文件
.idea/                # 忽略 IDE 配置目录

# 忽略特定类型的文件
*.log                 # 忽略所有 .log 文件
*.map                 # 忽略所有 .map 文件

# 排除特定文件(即使在忽略模式中)
!src/config.js        # 不忽略 src/config.js 文件

# 忽略目录中的特定文件
node_modules/**/*.txt # 忽略 node_modules 下的所有 .txt 文件

# 只忽略当前目录下的文件,不包括子目录
config.js             # 只忽略根目录下的 config.js

常用忽略模式

前端项目:

gitignore
# 依赖和构建
node_modules/
dist/
build/
public/

# IDE 和编辑器
.idea/
.vscode/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# 环境配置
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# 日志和缓存
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-store/

Python 项目:

gitignore
# 虚拟环境
venv/
.venv/
env/
.conda/

# 编译产物
__pycache__/
*.py[cod]
*.so

# 日志和数据库
*.log
*.db
*.sqlite3

# IDE 和编辑器
.idea/
.vscode/

Java 项目:

gitignore
# 编译产物
target/
build/
bin/

# 依赖缓存
.gradle/
.mvn/
.m2/

# IDE 和编辑器
.idea/
.vscode/
*.iml
*.ipr
*.iws

# 环境配置
.env

全局忽略配置

若希望忽略某些文件类型(如系统文件),可配置全局 .gitignore:

bash
# 创建全局忽略文件
touch ~/.gitignore_global

# 添加忽略规则
echo ".DS_Store" >> ~/.gitignore_global
echo "Thumbs.db" >> ~/.gitignore_global

# 配置 Git 使用全局忽略文件
git config --global core.excludesfile ~/.gitignore_global