前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.gitignore 忽略文件和目录

.gitignore 忽略文件和目录

作者头像
很酷的站长
发布2023-01-10 09:51:13
2.2K0
发布2023-01-10 09:51:13
举报
.gitignore 忽略文件和目录
.gitignore 忽略文件和目录
1. .gitignore 简介

.gitignore 文件的作用就是告诉 git 哪些文件不需要添加到版本管理中(定义忽略提交的文件)

.gitignore 文件用来忽略被指定的文件或文件夹的改动,被记录在.gitignore文件里的文件或文件夹,是无法被 git 跟踪到的,换句话说,被忽略的文件是不会被放入到远程仓库里的。

也就是说,如果文件已经存在于远程仓库中,是无法通过 .gitignore 文件来忽略的

站长源码网

2. .gitignore 注释

所有空行或者以注释符号 # 开头的行都会被 git 忽略

以井号(#)开头的行是注释,将被忽略,空行可用于提高文件的可读性并对相关的模式行进行分组

代码语言:javascript
复制
# 忽略编辑器配置目录
/.idea
/.vscode
3. / 开头或结尾的忽略

之前在某篇文章中看到这句话: 以斜杠 / 开头表示忽略的是目录

后来发现并不是这样的,它真正的作用是只忽略同级的内容,而不忽略下级目录中的内容

结论: / 位于头部的作用是只忽略当前目录下的内容;放在尾部的作用是只忽略目录,而不忽略文件

头尾都没有 /

代码语言:javascript
复制
# 忽略当前目录及下级目录中所有的 runtime
# runtime 文件或目录都会被忽略
runtime

前面有 /

代码语言:javascript
复制
# 只忽略当前目录中的 runtime 文件或目录
# 不忽略下级目录中的 runtime 文件或目录
/runtime

后面有 /

代码语言:javascript
复制
# 只忽略当前目录和下级目录中的 runtime 目录
# 不忽略当前目录和下级目录中的 runtime 文件
runtime/

头尾都有 /

代码语言:javascript
复制
# 只忽略当前目录中的 runtime 目录
/runtime/
4. glob 模式匹配忽略

在 .gitignore 文件中可以使用标准的 glob 模式匹配

以星号 * 通配多个字符

代码语言:javascript
复制
# 忽略 vendor 目录下的所有文件
/vendor/*
# 忽略所有后缀名为 txt 的文件
*.txt

以问号 ? 通配单个字符

代码语言:javascript
复制
# 忽略文件名称为一个字符, 后缀名为 php 的文件
?.php

以方括号 [] 包含单个字符的匹配列表

代码语言:javascript
复制
# 忽略 125.php、135.php文件
1[23]5.php

以叹号 ! 表示不忽略(跟踪)匹配到的文件或目录

【注意项】注意写法 要忽略的文件夹一定要结尾 /* ,否则不忽略规则将无法生效

代码语言:javascript
复制
# 忽略vendor目录下的所有文件
/vendor/*
# 不忽略vendor目录下的 1.php
# 在已忽略的文件夹中不忽略指定文件
!/vendor/1.php
# 不忽略vendor目录下 dev目录
# 在已忽略的文件夹中不忽略指定文件夹
!/vendor/dev
5. .gitignore 全局忽略

git 允许创建全局 .gitignore 文件,所有本地 git 仓库都将遵守全局的忽略规则。

该文件的名称和位置没有要求,只要在 git 配置文件中路径指定正确即可。

例如,将 ~/.gitignore_global 设置为全局 git 忽略文件,可以执行以下操作:

代码语言:javascript
复制
# 创建文件
touch ~/.gitignore_global
# 将文件添加到 git 配置
git config --global core.excludesfile ~/.gitignore_global
6. 忽略已提交到远程仓库的内容

删除暂存区中的文件或目录

代码语言:javascript
复制
git rm --cached <file>
git rm -r --cached <folder>

在 .gitignore 中添加忽略配置

代码语言:javascript
复制
<file>
/<folder>

推送到远程仓库

代码语言:javascript
复制
git add .gitignore
git commit -m '忽略文件'
git push origin master
7. 使用各种框架下的忽略规则

忽略编辑器配置文件

代码语言:javascript
复制
.idea
.vscode
.hbuilderx

忽略特殊文件

.DS_Store 文件一般出现在 MacOS 中,是 Finder 用来存储文件夹的显示属性的,比如: 文件图标的摆放位置

代码语言:javascript
复制
.DS_Store

ThinkPHP 5.0

代码语言:javascript
复制
/runtime
/vendor
/thinkphp

Uni-App 项目

代码语言:javascript
复制
unpackage
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. .gitignore 简介
  • 2. .gitignore 注释
  • 3. / 开头或结尾的忽略
  • 4. glob 模式匹配忽略
  • 5. .gitignore 全局忽略
  • 6. 忽略已提交到远程仓库的内容
  • 7. 使用各种框架下的忽略规则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档