gitlab处理空文件夹的提交或空文件夹提交失败

问题描述

厂家发给了我一个压缩包文件,压缩包解压之后本地编译没问题;推送到gitlab之后,再编译就报错了;

问题原因

经过分析之后发现,压缩包解压之后存在很多空文件夹;但是gitlab推送的时候,只会推送文件和对应的文件夹关系,不会推送一个空文件夹到服务器;

gitlab工具是依靠文件来识别文件夹的,不能识别空的文件, 默认不会跟踪空文件夹;

处理方法

我们可以在空文件夹下新建 .gitkeep 文件来保持文件夹的推送;

通过这条命令,可以确保当前目录及其子目录所有空文件夹中都有一个 .gitkeep 文件,从而让它们能够被 gitlab跟踪

bash 复制代码
find . -type d -empty -exec touch {}/.gitkeep \;

# 解释:
find .
# 在当前目录及其子目录中递归查找。
-type d
# 限制查找结果为"目录"。
-empty
# 匹配空的文件夹(没有文件或子文件夹的文件夹)。
-exec touch {}/.gitkeep \;
# 对于每个找到的空文件夹,执行 touch {}/.gitkeep 命令。
# {} 是 find 中的占位符,表示当前匹配到的目录路径。
# touch 命令用于创建一个空的 .gitkeep 文件。
相关推荐
子兮曰7 小时前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
旅之灵夫8 小时前
【GitHub项目推荐--Remotion:使用React编程化创建视频】⭐⭐⭐
github
jiayong2310 小时前
Git 核心概念:Tag 与 Branch 的本质区别
git
Serene_Dream13 小时前
git 合并冲突的分支
git
我是一只puppy14 小时前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
玄同76514 小时前
Git常用命令指南
大数据·git·elasticsearch·gitee·github·团队开发·远程工作
吠品15 小时前
命令行揭示SSL证书真相
https·github·ssl
、BeYourself16 小时前
解决git@github.com: Permission denied (publickey)
github
十步杀一人_千里不留行17 小时前
Git提交前ESLint校验实践(Husky + lint-staged)
git·github
朱昆鹏18 小时前
开源 Claude Code + Codex + 面板 的未来vibecoding平台
前端·后端·github