📜  Git忽略(1)

📅  最后修改于: 2023-12-03 14:41:31.473000             🧑  作者: Mango

Git忽略

在项目中,有许多文件是不需要被 Git 追踪的,例如编译生成的文件、临时文件、日志文件等等。这些文件不但会占用 Git 的存储空间,也会使 Git 运行变慢,所以需要忽略掉。

Git 忽略是通过 .gitignore 文件来实现的,该文件描述了哪些文件和目录应该被 Git 忽略掉。.gitignore 文件可以被放在项目的根目录或者任意子目录下。

.gitignore 文件格式

.gitignore 文件的每一行表示一个忽略规则,规则格式如下:

# 这是注释

# 忽略所有的 .swp 文件
*.swp

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

# 忽略 .log 文件,但出现在 log/ 目录下的不忽略
*.log
!log/*.log

.gitignore 文件中每个规则的解释如下:

  • 空行或以 # 开头的行表示注释。
  • / 开头表示忽略根目录下的文件或目录,例如 /build 表示忽略根目录下的 build 目录。
  • * 表示通配符,例如 *.swp 表示忽略所有以 .swp 结尾的文件。
  • ! 表示不忽略,例如 !log/*.log 表示 log 目录下的 .log 文件不忽略。
常见的忽略规则

以下是一些常见的忽略规则:

操作系统生成的文件
# Windows 系统
Thumbs.db
ehthumbs.db
Desktop.ini

# macOS 系统
.DS_Store
.AppleDouble
编译生成的文件
# 编译生成的文件
*.o
*.a
*.so
*.dll
*.exe
*.out
*.class

# JDK 编译生成的文件
*.class
IDE 生成的文件
# IntelliJ IDEA 生成的文件
.idea/
*.iml

# Eclipse 生成的文件
.classpath
.project
*.settings
.metadata
日志文件和临时文件
# 日志文件和临时文件
*.log
*.tmp
*.swp
*.bak
*.~

# TMP 目录下的文件不忽略
!TMP/*
总结

.gitignore 文件是一个很重要的文件,它可以有效地减少 Git 存储空间和运行时间。在使用 Git 进行开发时,一定要熟练掌握 .gitignore 文件的规则和语法。