Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 339

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 392

Deprecated: parse_url(): Passing null to parameter #1 ($url) of type string is deprecated in /www/wwwroot/blog_qqvbc_com/usr/plugins/Access/Access_Core.php on line 394
git的忽略文件配置的语法格式,将已经由 Git 跟踪的目录加入忽略 - Joyber 的博客

要将已经由 Git 跟踪的目录加入忽略,必须先从 Git 缓存中移除该目录的追踪状态,再将其写入 .gitignore 文件。执行以下三个步骤即可完成:

操作步骤清除暂存区缓存:
运行命令

 git rm -r --cached 目录名

(注意这只会从 Git 记录中移除,不会删掉你本地电脑里的真实文件夹)。

添加至忽略文件:

打开或创建根目录下的 .gitignore 文件,在里面写上你的目录名字,例如 目录名/。

提交这一改动:运行 git add .gitignore 和 git commit -m "stop tracking 目录名" 把修改保存到仓库中。

.gitignore 格式规则

基础语法

# 这是注释,#开头
# 忽略指定文件
test.log

# 忽略整个目录(末尾带 / 代表文件夹)
node_modules/

# 忽略该目录下所有文件,不忽略目录本身
dist/*

# ! 取反,不忽略(例外),必须写在被忽略规则后面
!dist/index.html

# * 通配任意字符
*.log

# ** 递归匹配多级目录
**/temp.txt     # 所有层级下的 temp.txt
**/build/       # 任意位置 build 文件夹

# ? 匹配单个字符
file?.txt

重要坑点

  1. /xxx 开头斜杠:只匹配仓库根目录,不会递归子目录
    /vendor/ 只忽略根下vendor,子文件夹vendor不会生效
  2. 已经被git追踪过的文件,写.gitignore不会自动取消跟踪,需要手动:

    git rm --cached 文件名
  3. 规则从上往下解析,后面的规则优先级更高;! 要放在屏蔽规则之后。

PHP/Yii2 最简示例模板

# 日志
*.log
runtime/
web/assets/

# IDE
.idea/
.vscode/

# 依赖
vendor/

# 环境配置
.env
config/db-local.php

# os文件
.DS_Store
Thumbs.db

生效位置

  • 仓库根目录 .gitignore 全局生效(最常用)
  • 子文件夹内也可以放 .gitignore,只对当前文件夹及下级生效。

需要我给你一份Yii2项目完整可直接复制的.gitignore吗。

标签: none

添加新评论