欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > Git - .gitignore 文件

Git - .gitignore 文件

2025/9/7 10:24:24 来源:https://blog.csdn.net/weixin_46483660/article/details/148177586  浏览:    关键词:Git - .gitignore 文件

一、.gitignore 文件介绍

在使用 Git 进行版本控制时,.gitignore 文件是一个非常重要的配置文件,用于告诉 Git 哪些文件或目录不需要被追踪和提交到版本库中。合理使用 .gitignore 文件可以避免提交不必要的文件,如临时文件、编译生成的文件、日志文件、敏感信息等,从而保持版本库的整洁和高效。

使用 Git 的相信都经常看到这一个文件,当我们上传代码时候一些本地配置不想提交到线上的时候,我们一般都会有一个 .gitignore文件。

二、基本语法规则

.gitignore 文件使用简单的文本格式,每行定义一个忽略规则。

常见的语法规则如下:

  1. 注释:以 # 开头的行是注释,会被 Git 忽略。
# 这是一个注释,忽略所有 .log 文件
*.log
  1. 忽略文件 / 目录:直接指定文件名或目录名。
# 忽略单个文件
temp.txt# 忽略整个目录(包括子目录)
target/
  1. 通配符
    • *:匹配任意数量的任意字符(不包括路径分隔符 /
    • **:递归匹配任意目录
    • ?:匹配单个任意字符
    • []:匹配方括号内指定的任意一个字符
# 忽略所有 .tmp 文件
*.tmp# 忽略 build 目录下的所有 .class 文件
build/*.class# 递归忽略所有 node_modules 目录
**/node_modules/# 忽略所有以 test 开头的文件
test*# 忽略所有 .pdf 或 .docx 文件
*.pdf
*.docx
  1. 取反规则:以 ! 开头的规则表示不忽略(即使前面的规则已经忽略了该文件)。
# 忽略所有 .txt 文件,但不忽略 important.txt
*.txt
!important.txt
  1. 路径匹配
    • 没有斜杠:匹配当前目录及所有子目录中的文件
    • / 开头:只匹配仓库根目录下的文件
    • / 结尾:只匹配目录
# 只忽略根目录下的 config.ini
/config.ini# 忽略所有 src 目录下的 .swp 文件
src/*.swp# 忽略 doc 目录(无论在何处)
doc/

三、常用场景示例

以下是一些常见项目中可能需要添加到 .gitignore 的规则:

# 操作系统生成的文件
.DS_Store
Thumbs.db# 编译生成的文件
target/
build/
dist/
*.class
*.jar
*.pyc
*.o
*.a# 依赖缓存
node_modules/
vendor/
.gradle/# 日志文件
*.log
logs/# 配置文件(敏感信息)
config.local.json
secrets.properties# IDE/编辑器文件
.idea/
.vscode/
*.iml

四、全局忽略配置

除了在项目中使用 .gitignore 文件,还可以配置全局的忽略规则,这些规则将应用于所有 Git 仓库:

  1. 创建一个全局忽略文件(例如 ~/.gitignore_global):
touch ~/.gitignore_global
  1. 编辑该文件,添加你希望全局忽略的规则:
# 全局忽略 macOS 和 Windows 系统文件
.DS_Store
Thumbs.db# 全局忽略编辑器备份文件
*~
  1. 配置 Git 使用这个全局忽略文件:
git config --global core.excludesfile ~/.gitignore_global

五、强制添加被忽略的文件

如果需要强制添加某个被 .gitignore 忽略的文件,可以使用 -f 选项:

git add -f ignored_file.txt

六、刷新已忽略的文件

如果修改了 .gitignore 文件,需要刷新缓存以应用新的规则:

git rm -r --cached .  # 移除缓存
git add .             # 重新添加所有文件
git commit -m "Update .gitignore"  # 提交更改

七、总结

合理使用 .gitignore 文件是 Git 版本控制的重要实践,它可以帮助你:

  • 避免提交不必要的文件,保持版本库整洁
  • 保护敏感信息不被泄露
  • 提高团队协作效率
  • 减少冲突和错误

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词