gitlab的数据库磁盘坏了已经没有办法恢复情况下如何恢复git上的代码
gitlab的数据库磁盘坏了,没有备份。gitlab启动后,什么项目都没有了!!!
恢复过程:
- 将git的repositories备份
# cd /data/gitlab-gitlab/
# cp repositories /data/bak -rf
删除repositories下面的项目
# cd /data/gitlab-gitlab/repositories/vonechain-tenant
# rm vonedao-tenant-message* -rf
在页面新建刚刚删除的项目,一模一样的项目名称
将备份的repositories下面对于项目的git下内容,同步到新项目下
# cd /data/bak/repositories/vonechain-tenant/vonedao-tenant-message.git
# rsync -avz config description HEAD hooks hooks.old.1586364917 info objects refs /data/gitlab-gitlab/repositories/vonechain-tenant/vonedao-tenant-message.git/
克隆刚刚建好的项目,并且新增加一个空txt,然后提交
# git clone ssh://git@gitlab.vonedao.com:30022/vonechain-tenant/vonedao-tenant-message.git
# cd vonedao-tenant-message/
# touch txt
# git add .
# git commit -m "txt"
# git push -u origin master
修改权限可以解决
# chmod 777 /data/gitlab-gitlab/repositories -R
# git push -u origin master
提交成功:
到页面可以看到已经恢复的代码:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」