.gitignore
文件的详细说明
.gitignore
文件用于告诉 Git 哪些文件或目录不应该被版本控制。以下是 .gitignore
文件的详细说明和一些常见的使用示例。
基本语法
- 注释:以
#
开头的行是注释。# 这是一个注释
- 忽略文件:直接写文件名或路径。
debug.log
- 忽略目录:在目录名后面加上
/
。temp/
- 通配符:
*
匹配零个或多个字符。?
匹配单个字符。[abc]
匹配方括号内的任意一个字符。
*.log # 忽略所有 .log 文件 build/ # 忽略 build 目录
- 递归匹配:用
**
表示递归匹配所有子目录。**/temp/* # 忽略所有 temp 目录中的文件
- 取反:在规则前加
!
表示例外规则。!important.log # 不忽略 important.log 文件
常见示例
一般用途
# 忽略所有的 .log 文件
*.log
# 忽略临时文件
*.tmp
# 忽略 node_modules 目录
node_modules/
# 忽略编译生成的文件
build/
dist/
out/
# 忽略操作系统产生的临时文件
.DS_Store
Thumbs.db
# 忽略 IDE 产生的文件
.idea/
.vscode/
*.suo
*.user
*.userosscache
*.sln.docstates
Python 项目
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# Distribution / packaging
.Python
env/
venv/
ENV/
env.bak/
venv.bak/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
cover/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# Celery beat schedule file
celerybeat-schedule
# dotenv
.env
.env.*
Java 项目
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
Node.js 项目
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
# Next.js build output
.next
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
# Docusaurus cache and generated files
.docusaurus
.build
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
创建 .gitignore 文件
- 在项目根目录创建
.gitignore
文件:touch .gitignore
- 打开
.gitignore
文件并添加需要忽略的文件和目录。 - 保存
.gitignore
文件并提交更改:git add .gitignore git commit -m "Add .gitignore file"
在线生成 .gitignore
文件
可以使用 gitignore.io 网站,根据项目类型生成 .gitignore
文件。输入项目类型如 python
, java
, node
等,即可生成相应的 .gitignore
内容。
希望这些信息能帮助你更好地使用 .gitignore
文件来管理项目中的文件和目录。