侧边栏壁纸
博主头像
一朵云的博客博主等级

拥抱生活,向阳而生。

  • 累计撰写 108 篇文章
  • 累计创建 28 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Git -- .gitignore 基本用法

一朵云
2021-03-17 / 0 评论 / 0 点赞 / 6783 阅读 / 3815 字

前言:

.gitignore 文件是 Git 中用于指定哪些文件或目录不应被 Git 版本控制系统跟踪的配置文件。通过合理设置 .gitignore,可以避免将不必要的文件(如编译输出、日志文件、IDE 配置等)提交到仓库中,保持代码库的整洁。

一、基本语法

1. 注释

# 开头的行为注释,不会被 Git 解析。

# 这是一个注释行

2. 忽略单个文件

直接列出文件名即可忽略该文件。

config/local.properties

3. 忽略特定类型的文件

使用通配符 * 来匹配文件类型。

*.log # 忽略所有 .log 结尾的文件

4. 忽略目录

在目录名称后加上 / 来指定忽略整个目录。

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

5. 忽略目录下的特定类型文件

如果只想忽略某个目录下的特定类型文件,可以这样写:

logs/*.log # 只忽略 logs 目录下的 .log 文件,不包括子目录

6. 忽略除某些文件外的所有文件

使用 ! 符号来取消忽略规则。

*.log # 忽略所有 .log 文件
!important.log # 不忽略 important.log 文件

二、高级用法

1. 双星号 **

双星号可用于匹配任意层级的目录。

**/logs/*.log # 匹配任何位置 logs 目录下的 .log 文件

2. 单星号 *

单星号用于匹配单个路径段中的任意字符。

*.tmp # 匹配当前目录下所有 .tmp 结尾的文件

3. 使用问号 ?

问号用于匹配单个字符。

file?.txt # 匹配 file1.txt, fileA.txt 等,但不匹配 file10.txt

4. 字符集 [abc]

方括号内定义字符集,匹配其中任一字符。

file[123].txt # 匹配 file1.txt, file2.txt, file3.txt

三、常见模式示例

以下是一些针对 Java/Spring Boot 项目的典型 .gitignore 示例:

# Compiled class files
*.class

# Log files
*.log
logs/

# IDE specific files
.idea/
*.iml

# Maven target directory
target/

# OS-specific files
.DS_Store
Thumbs.db

# JVM crash logs
hs_err_pid*

# HTTP Client requests (IntelliJ IDEA)
.httpRequests/

四、注意事项

  • 已追踪文件:如果一个文件已经被 Git 跟踪了,添加到 .gitignore 后并不会自动停止跟踪。需要先从索引中移除该文件(但保留本地副本),例如使用命令 git rm --cached <filename>
  • 全局忽略:可以通过设置全局 .gitignore 来忽略跨项目通用的文件,例如编辑器生成的备份文件等。使用命令 git config --global core.excludesfile ~/.gitignore_global 来设置全局忽略文件。
  • 测试忽略规则:可以使用 git check-ignore -v <path/to/file> 命令来查看某个文件是否被 .gitignore 规则所忽略。

image-iwqt.png

0

评论区