.gitignore 的奥秘:前端开发者必须了解的文件忽略规则(一)总体介绍

时间:2024-07-08 07:10:22

Git 版本管理在开发中场景,其中.gitignore也是Git中必不可少的配置文件,.gitignore 文件用于告诉 Git 哪些文件或目录应该被忽略,即不被版本控制系统跟踪和提交。

本部分总体介绍 .gitignore 基础内容,包括作用、匹配规则和注意点。

.gitignore 作用

通过正确配置 .gitignore 文件,可以有效管理哪些文件应被版本控制,哪些文件应被忽略,从而保持代码仓库的整洁和安全。

  1. 防止提交敏感信息:如 API 密钥、数据库配置等。

  2. 避免提交不必要的文件:如编译生成的文件、临时文件、日志文件等。

  3. 保持仓库整洁:只跟踪重要的源代码和配置文件。

.gitignore 匹配规则

.gitignore 文件中的每一行都代表一个匹配模式。以下记录工作中常见的匹配规则和例子,用作备忘:

忽略指定后缀文件

*.log       # 忽略所有 .log 文件
*.tmp       # 忽略所有 .tmp 文件

忽略指定目录

build/      # 忽略 build 目录及其所有内容
temp/       # 忽略 temp 目录及其所有内容

忽略指定目录下的所有内容

两者存在区别,/写在目录前面代表,仅忽略根目录文件;/写在目录后面代表忽略所有同名目录文件。

/logs       # 仅忽略根目录下的 logs 目录
logs/       # 忽略所有 logs 目录,不论其所在位置

使用通配符

*.class     # 忽略所有 .class 文件
**/temp     # 忽略所有 temp 目录,不论其所在位置

排除特定文件或目录(在已忽略的模式中排除)

*.log
!important.log    # 忽略所有 .log 文件,但保留 important.log

忽略特定目录下的所有内容,但保留该目录本身

types/*
!types/global.d.ts    # 忽略 types 目录下的所有内容,但保留 global.d.ts 文件

注意点

  1. 应用顺序.gitignore 文件中的规则是从上到下按顺序应用的;

  2. 对已跟踪的文件无效.gitignore 只能影响未被 Git 跟踪的文件;对于已被跟踪的文件,需要使用 git rm --cached 命令将其从暂存区移除,然后提交修改,否则在本地是不会理解生效的;

  3. 全局 .gitignore:可以为整个用户环境设置全局的 .gitignore 文件,适用于所有 Git 仓库。通过运行 git config --global core.excludesfile ~/.gitignore_global 设置。