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 

提示成功;

相关推荐
西邮彭于晏12 分钟前
Git 标签(Tag)与版本发布完整指南|附全场景命令速查表
大数据·git·elasticsearch
笨鸟先飞,勤能补拙37 分钟前
下一个十年:网络安全正在被重写
网络·人工智能·安全·web安全·网络安全·github
潘正翔1 小时前
k8s进阶_Harbor镜像仓库
git·云原生·容器·kubernetes·gitee·github
vibecoding771 小时前
GitHub 2026 年 7 月热榜:累计 Star 总榜与月度飙星榜
人工智能·github·ai编程
Pniubi2 小时前
Gitee&GitHub同步仓库教程
gitee·github
TunerT_TQ2 小时前
GitHub深度工程评测:AI 系统提示词泄露知识库深度评测:6万星system_prompts_leaks情报资产背后,藏着什么?
人工智能·chatgpt·github·提示词工程·#valhalla静态工程审阅·systemprompt·大模型工程
InfinitePlus3 小时前
Git基本操作-命令行
git
茉莉玫瑰花茶3 小时前
TCP 全连接队列与 tcpdump 抓包
git·github·tcp·tcpdump
炸膛坦客5 小时前
Git 和 GitHub:(十四)rebase 到某个有新提交的远程仓库的分支
git·github
小弥儿5 小时前
GitHub今日热榜 | 2026-07-31:AI Agent工作流共享赛道升温
人工智能·学习·github