📜  .gitignore - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:03.817000             🧑  作者: Mango

.gitignore 介绍

在开发中,我们经常需要使用 Git 对代码进行版本控制。在提交代码时,我们经常需要过滤一些不必要的文件或目录,如编译生成文件、临时文件、日志文件等。为了避免将这些文件提交到 Git 仓库中,我们需要创建 .gitignore 文件并列出要排除的文件和目录。

.gitignore 文件的作用

.gitignore 文件的作用是告诉 Git 在提交时忽略某些文件或目录,这些文件或目录不会被版本控制,从而减少仓库的大小并提高 Git 操作的速度。通常情况下,我们会忽略以下类型的文件:

  • 编译生成的文件(如.class、.o、.pyc等)
  • 日志文件(如.log、.tar.gz等)
  • 临时文件(如.tmp、~等)
  • 敏感数据(如数据库密码、API Key等)
.gitignore 文件的使用方法

在项目根目录下创建一个 .gitignore 文件,并列出要忽略的文件和目录。每行一个文件或目录,可以使用以下格式:

  • 文件:直接列出文件名即可,如 *.log sample.csv
  • 目录:需要在目录名前加上斜杠 /,如 /build /dist

在写 .gitignore 文件时,我们可以使用 glob 模式匹配文件名。以下是一些 glob 模式的示例:

  • *:匹配任意字符(除了路径分隔符)
  • **:匹配任意字符,包括路径分隔符
  • ?:匹配单个字符(除了路径分隔符)
  • []:匹配方括号中的任意一个字符
  • !:表示取反

例如,以下是一个常见的 .gitignore 文件示例:

# 忽略日志和临时文件
*.log
temp-*
# 忽略编译生成的文件和目录
*.class
*.o
*.pyc
/build/
/dist/
# 忽略敏感数据
*.key
config.json
!sample.json

以上.gitignore 文件的规则为忽略 .log 结尾的文件、以 temp- 开头的文件、 .class.o.pyc 文件、 builddist 目录、 .key 文件和 config.json 文件,但会忽略除 sample.json 文件外所有其他 .json 文件。

.gitignore 文件的注意事项
  • .gitignore 文件只对添加后续修改的文件有效。如果已经将文件添加到 Git 仓库中,则 .gitignore 文件的修改对该文件无效。
  • 一般来说,.gitignore 文件应该保持在项目的根目录下,但是也可以在特定的目录下创建该文件,只要保证它适用于该目录及其子目录。
  • .gitignore 文件可以使用 # 注释和 ! 取反符号来进行注释和排除某些被忽略的文件。
  • 如果发现某个文件或目录没有被 .gitignore 文件排除,可以使用 git check-ignore 命令检查该文件或目录是否被忽略。
总结

.gitignore 文件是 Git 中用来忽略不必要的文件或目录的机制。该文件可以提高 Git 操作的速度,减少仓库的大小。在编写 .gitignore 文件时需要注意匹配规则、路径、注释、取反等细节方面的问题。正确地编写 .gitignore 文件可以提高开发效率,使仓库更加干净和健康。