Git 实现github仓库管理-删除指定目录下的所有文件并保留目录结构

在项目中,我们有时会希望清空某些示例或临时目录中的所有文件,但又希望保留文件夹结构(例如为了保持编译路径、Git 提交结构或方便后续添加新文件)。

本文以 Examples 目录为例,展示如何删除其中的所有文件,同时保留子目录结构。

场景示例

我们希望:

  • 删除 MonocularRGB-DROSStereo 下的所有文件;

  • 但仍然保留这四个文件夹;

  • 并且让 Git 继续跟踪这些空目录(默认 Git 不会提交空文件夹)。

步骤一:删除文件但保留目录

提前选择空白文件夹,用于远程拉取项目存储位置,并在该目录打开 Git Bash终端,并执行:

bash 复制代码
#⚠️ -type f 表示仅删除文件,不会删除文件夹。
find 文件夹路径 -type f -delete

步骤二:保持空目录可被 Git 跟踪

Git 默认不会提交空文件夹,因此需要在每个空目录中放置一个占位文件。最常见的做法是使用 .gitkeep 文件(名称不固定,但业界约定俗成)。

执行以下命令:

bash 复制代码
/*
    1.-type d:查找目录;
    2.-empty:只匹配空目录;
    3.-exec touch {}/.gitkeep \;:在空目录中创建一个 .gitkeep 占位文件。
*/

find Examples -type d -empty -exec touch {}/.gitkeep \;

执行后,结构如下:

步骤三:提交到 Git 仓库

bash 复制代码
git add Examples
git commit -m "Done and added .gitkeep to preserve structure"
git push 

提示成功;

相关推荐
峰向AI4 小时前
还在手动配 SSL 证书?这个 75K Star 的 Web 服务器让 HTTPS 自动到起飞
github
Java陈序员5 小时前
轻量运维面板!一款现代化的服务器控制面板工具!
运维·服务器·python·react.js·github
u1301307 小时前
GitHub 热榜项目:日榜(2026-09-10)
github
用户2136863783528 小时前
给 DeepSeek Harness 写了个「技能熔炉」:任何来源的 SKILL.md 一条命令装上
github
七牛开发者9 小时前
告别反复调参,一个 Skill 让 AI 掌握论文图的视觉语法:以 DeepSeek V4.1 Flash 论文图为例
github·agent·deepseek
简创AIGC陶先生9 小时前
【直播切片工作台】第11章:剪辑项目模型 VideoProject
github
MicrosoftReactor10 小时前
技术速递|如何在不牺牲任务质量的前提下,让 AI 编码更具成本效益
人工智能·ai·github·copilot
中科三方10 小时前
DNS拨测到底在拨测什么?
开发语言·github·php·dns·云拨测
digital-Yun14 小时前
Harness 深度图解
github
码流怪侠16 小时前
Sunshine 深度拆解:当 NVIDIA GameStream 闭源后,如何用 4 万颗 Star 重建自托管云游戏
游戏·github·nvidia