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 文件。
相关推荐
幸好我会魔法42 分钟前
使用githubPage+hexo搭建个人博客
笔记·github
o(╥﹏╥)1 小时前
绑定 SSH key(macos)
开发语言·git·学习·macos
半新半旧5 小时前
Git 分支指南
git
qq_464357017 小时前
git中忽略文件.gitignore文件的用法
git
风屿.8 小时前
部署安装gitlab-ce-17.9.7-ce.0.el8.x86_64.rpm
gitlab
程序员阿鹏9 小时前
Git的安装和配置(idea中配置Git)
java·开发语言·ide·git·intellij-idea·idea
“αβ”9 小时前
Linux平台下SSH 协议克隆Github远程仓库并配置密钥
linux·ssh·github
qianmoQ20 小时前
GitHub 趋势日报 (2025年05月12日)
github
belldeep21 小时前
如何阅读、学习 Git 核心源代码 ?
git·学习·源代码
我不是秃头sheep1 天前
Git安装教程及常用命令
git