当前位置: 首页 > backend >正文

Git 忽略文件配置 .gitignore

目录

配置规则

查看代码文件存储大小

创建和使用 .gitignore 文件

如果你已经提交过文件,但是现在想加到忽略文件来,看这个

.gitignore 文件用于指定 Git 版本控制系统中需要忽略的文件和目录,这样这些文件就不会被纳入版本控制。下面为你介绍一些常见的 .gitignore 配置规则以及不同场景下的示例。

配置规则

  • 注释:以 # 开头的行是注释,会被 Git 忽略。
  • 路径匹配:可以使用通配符来匹配文件或目录名。例如,*.log 表示忽略所有扩展名为 .log 的文件。
  • 目录匹配:以 / 结尾的模式表示目录。例如,build/ 表示忽略 build 目录及其下的所有内容。
  • 取反规则:以 ! 开头的模式表示不忽略匹配的文件或目录。例如,!important.log 表示即使有规则忽略 .log 文件,important.log 也不会被忽略。

     
    1. 斜杠 / 位置的不同含义
    开头加 /:表示从项目根目录开始匹配。例如,/config.ini 只会忽略项目根目录下的 config.ini 文件,而不会忽略子目录里的 config.ini 文件。
    中间加 /:用于指定路径层次。例如,src/temp/ 表示忽略 src 目录下的 temp 目录及其所有内容。
    2. 点 . 的含义
    在 .gitignore 里,单独的 . 并没有特殊含义。不过,当它和其他字符组合时,就会有不同作用。比如 . 和通配符结合,像 .* 表示忽略所有以点开头的文件或目录,这常用于忽略隐藏文件和目录。
    3. 双星号 **
    双星号 ** 表示任意数量的目录。例如:
    **/*.log:不管在项目的哪个目录下,只要是扩展名为 .log 的文件都会被忽略。
    src/**/temp/:表示忽略 src 目录下任意层级的 temp 目录及其所有内容。
    4. 问号 ?
    问号 ? 用于匹配单个任意字符。例如,file?.txt 会忽略 file1.txt、file2.txt 等文件,但不会忽略 file.txt。# 忽略项目根目录下的 config.ini 文件
    /config.ini# 忽略所有 .log 文件
    *.log# 但不忽略 important.log 文件
    !important.log# 忽略 src 目录下任意层级的 temp 目录
    src/**/temp/# 忽略所有以 .bak 结尾且文件名只有一个字符的文件
    ?*.bak
     被忽略的文件会显示灰色


 

查看代码文件存储大小

 du -h -d 1du -h -d 1 example

创建和使用 .gitignore 文件

  1. 在项目根目录下创建一个名为 .gitignore 的文件。

  2. 将上述规则添加到 .gitignore 文件中。

  3. 使用 git add .gitignore 将 .gitignore 文件添加到版本控制。

  4. 使用 git commit -m "Add .gitignore" 提交更改。

这样,Git 就会根据 .gitignore 文件中的规则忽略相应的文件和目录。

如果你已经提交过文件,但是现在想加到忽略文件来,看这个

你需要把 pubspec.lock 文件从 Git 的追踪记录中移除,不过本地文件不会被删除。
可以使用以下命令:git rm --cached model/library/pubspec.lock此命令的作用是把 model/library/pubspec.lock 文件从暂存区移除,但不删除本地文件。
要是你想一次性移除项目里所有的 pubspec.lock 文件,可以使用通配符:git rm --cached **/pubspec.lock移除文件之后,再提交修改:git commit -m "Remove tracked pubspec.lock files according to .gitignore"
git push验证步骤
先确保 .gitignore 文件里已经添加了 *.pubspec.lock 规则。
运用上述命令把 pubspec.lock 文件从 Git 追踪记录中移除并提交修改。
再次修改 model/library/pubspec.lock 文件,然后使用 git status 命令查看状态,
此时该文件应该不会再显示为修改状态。
通过以上步骤,就能让 .gitignore 里的规则生效,忽略 pubspec.lock 文件的更改。如果你有多个不同 model 目录下的 pubspec.lock 文件需要从 Git 追踪中移除,
你可以逐个使用 git rm --cached 命令来移除它们,像所列举的:git rm --cached **/pubspec.lock** 是一个通配符,表示任意数量的目录层级,这样就能匹配到所有子目录下的 pubspec.lock 文件。
在使用 git rm --cached 时,文件只会从 Git 的追踪记录中移除,而不会从你的本地文件系统中删除,
这符合你不删除文件的需求。

http://www.xdnf.cn/news/3324.html

相关文章:

  • AI对IT行业的重塑:挑战与机遇并存的技术革命
  • URP - 序列图动画的实现
  • 多数元素题解(LC:169)
  • 扩展根分区
  • 软件产品测试报告:如何全面评估及保障软件质量?
  • kubernetes》》k8s》》Service 、Ingress 区别
  • C 语 言 - - - 动 态 内 存 分 配
  • SIwave基本操作之S参数仿真
  • 5. 进程地址空间
  • react中封装一个预览.doc和.docx文件的组件
  • Vue3 + TypeScript 实现 PC 端鼠标横向拖动滚动
  • 【蓝桥杯】第十六届蓝桥杯C/C++大学B组个人反思总结
  • 高性能架构设计-数据库(读写分离)
  • OpenHarmony - 小型系统内核(LiteOS-A)(十七)标准库
  • 加速LLM大模型推理,KV缓存技术详解与PyTorch实现
  • java: 警告: 源发行版 21 需要目标发行版 21
  • PostgreSQL的COALESCE 函数用法
  • 慧星云支持 Qwen3:开启智算新生态,共筑高效 AI 未来
  • WebGL图形编程实战【5】:层次构建 × Shader初始化深度剖析
  • 基于ssm的校园旧书交易交换平台(源码+文档)
  • Microsoft Entra ID 详解:现代身份与访问管理的核心
  • 三分钟了解自动拆箱封箱操作
  • Pillow 移除或更改了 FreeTypeFont.getsize() 方法
  • mac下载homebrew 安装和使用git
  • SimFlow: 基于OpenFOAM的CFD求解器
  • 积木报表的 API 数据集 (附Demo图文)
  • JavaAPI — 日期与集合
  • Spring MVC @RequestParam 注解怎么用?如何处理可选参数和默认值?
  • 温补晶振(TCXO)稳定性优化:从实验室到量产的关键技术
  • 【爬虫】deepseek谈爬虫工具