Featured image of post Git 批量清除缓存文件 📁➡️🗑️

Git 批量清除缓存文件 📁➡️🗑️

Git 批量清除缓存文件 📁➡️🗑️ 功能简介 🚀 本文

Git 批量清除缓存文件 📁➡️🗑️

Git操作示意图


功能简介 🚀

本文提供了两个实用脚本,帮助您批量清除多个 Git 仓库中的缓存文件。使用这些脚本可以快速、高效地处理大量 Git 项目,特别适合需要同时管理多个仓库的开发者。

主要特点 ✨

  • 🔍 自动递归查找:自动扫描指定目录下的所有 Git 仓库
  • 批量处理:一次性处理多个项目,节省时间
  • 🔒 安全操作:使用 --cached 参数,确保不会删除实际文件
  • 🌐 远程支持:提供本地和远程两种执行方式

脚本详情

一、本地批量清除缓存文件脚本 📂

此脚本会在指定目录中查找所有包含 .git 文件夹的子目录,并对每个 Git 仓库执行 git rm --cached -r . 命令来清除缓存。

使用方法:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 创建并编辑脚本
touch git_rm_cached.sh && \
cat > git_rm_cached.sh <<'EOF'
#!/bin/bash

find "$1" -type d -name .git -exec dirname {} \; | while read -r repo_dir; do
  cd "$repo_dir" || continue
  echo "正在处理仓库:$repo_dir"
  git rm --cached -r .
done
EOF

# 添加执行权限
chmod +x git_rm_cached.sh

# 运行脚本(请将 /vol1/1000/compose 替换为您要扫描的实际路径)
bash git_rm_cached.sh /vol1/1000/compose

二、远程批量清除缓存文件脚本 🌐

如果您不想手动创建脚本,可以直接使用远程脚本执行相同操作。

使用方法:

1
2
3
bash <(curl -sL https://gitee.com/meimolihan/script/raw/master/sh/git/git_rm_cached.sh) ./hugo-main

cd hugo-main ; git add . ; git commit -m "update" ; git push

使用场景 🎯

  1. 大量文件误加入缓存:当意外将大量文件(如日志、编译产物等)加入 Git 缓存时
  2. 批量更新.gitignore:修改了.gitignore 规则后,需要清除已跟踪的缓存文件
  3. 多项目管理:同时处理多个项目的缓存清理工作

注意事项 ⚠️

  1. 执行前请确保已备份重要数据
  2. 确认指定的目录路径正确无误
  3. 清除缓存操作不会删除物理文件,只会从 Git 跟踪中移除
  4. 执行后需要重新添加需要跟踪的文件

总结 📝

通过这两个脚本,您可以轻松实现多 Git 仓库的缓存批量清理工作,大大提高工作效率。无论是本地脚本还是远程脚本,都能帮助您快速解决 Git 缓存管理的问题。


如有任何问题或建议,欢迎反馈! 😊

最后更新于 2025-10-06