免责声明

本站所有资源、内容均为转载整合,仅供学习与研究使用

本站涉及的收费项目,仅为资源整理、收集及维护成本,并非软件或内容本身的费用

请在学习研究后自觉删除相关内容,请勿用于商业用途或非法传播,因未及时删除或违规使用所产生的一切法律责任与后果,由使用者自行承担。

如需用于其他用途,请购买正版授权,支持原作者

若本站内容侵犯了您的合法权益,请通过邮箱 admin@zx-shop.com.cn 联系站长,我们将在第一时间核实并处理删除,感谢您的理解与配合!

Gitignore 作用及用法

gitignoreGit 版本控制工具的一个配置文件,文件名固定为 .gitignore

一、它的核心作用是:

告诉 Git 哪些文件/文件夹不需要被跟踪(即不提交到代码仓库)

二、为什么需要它?

  1. 保护敏感信息:比如你的 .env 文件(存密码、密钥)、数据库文件(如 db.sqlite3),不能提交到仓库泄露;

  2. 避免冗余文件:比如虚拟环境(.venv)、编译后的缓存(__pycache__)、IDE 配置文件(.idea),这些文件只在你本地有用,提交到仓库会占用空间、导致团队成员冲突;

  3. 保持仓库整洁:只提交项目的核心代码(如 .py 文件),让仓库更轻量、易维护。

简单说:.gitignore 是 Git 的“过滤名单”,帮你把不需要共享的文件挡在仓库外面。

三、用法

.gitignore 的写法规则其实很简单,核心是「匹配模式 + 注释」,下面用常用规则 + 例子帮你快速理解:

1. 基础规则

  • 注释用 # 开头

    # 这是注释,不会生效
    .env # 这行是有效规则(注释在后面也可以)
  • 直接写文件名/文件夹名:匹配项目中所有同名的文件/文件夹

    .venv       # 忽略所有叫.venv的文件夹
    db.sqlite3 # 忽略所有叫db.sqlite3的文件
  • / 开头:只匹配当前目录下的文件/文件夹(不会匹配子目录里的)

    /static/  # 只忽略「最外层目录」下的static文件夹
            # 子目录里的static(比如app/static)不会被忽略
  • / 结尾:表示这是一个文件夹(不是文件)

    __pycache__/  # 忽略所有叫__pycache__的文件夹(不管在哪个目录)

2. 通配符规则(常用)

  • *:匹配任意字符(但不匹配 /

    *.log # 忽略所有后缀为.log的文件(比如a.log、app/b.log) *.pyc # 忽略所有.pyc后缀的缓存文件

  • ?:匹配单个字符

    test?.txt # 匹配test1.txt、testA.txt,但不匹配test12.txt

  • **:匹配任意层级的目录(包括当前目录和子目录)

    **/media/ # 忽略所有目录下的media文件夹(比如根目录的media、app/media)

3. 反向规则(!)

  • ! 开头:表示不忽略某个文件(用于“排除例外”)

    *.pyc       # 忽略所有.pyc文件
    !main.pyc   # 但不忽略main.pyc(例外)

    注意:! 不能用于被父目录忽略的文件(比如先忽略了__pycache__/,再写!__pycache__/a.pyc是无效的)

4. 示例:结合你的Django项目

# 注释:忽略虚拟环境
.venv/

# 注释:忽略环境配置文件
.env

# 注释:忽略所有.log文件
*.log

# 注释:只忽略根目录下的static文件夹
/static/

# 注释:忽略所有目录下的__pycache__文件夹
**/__pycache__/

# 注释:忽略所有.pyc文件,但保留utils.pyc
*.pyc
!utils.pyc

总结:.gitignore 是“匹配模式越具体,优先级越高”,日常用 # 写注释、* 匹配后缀、/ 限定目录,基本就能覆盖90%的场景。

要不要我帮你检查下之前给你的 .gitignore 配置是否符合这些规则?

请登录后发表评论

    没有回复内容