|
1、提示仓库不存在的是个别项目还是所有项目? 2、从你反馈的备份数据大小看,本地硬盘上的仓库数据应该大概都还在,你可以运行:find /var/opt/gitlab/git-data 验证一下,看所有的仓库数据都还在不在。 3、在升级和出问题之前,有没有做过备份?如果有,可以还原到另一台机器,找到对应丢失的仓库,导出和导入到新版本实例上(个别仓库丢失的情况)。如果是整个实例的仓库都提示找不到,就整体还原。 |
ALEX 发表于 2024-4-28 10:46 回复1:大多数是显示仓库不存在,有一部分些是显示The repository for this project is empty 回复2:只有回复1中部分为空的几个仓库有文件夹,里面有个.git文件好像就没啥了 回复3:升级前做过备份,但好像是被自动删除了,上面的图里显示的备份是显示不存在之后备份的 |
如果备份文件丢了,就只能想办法利用现存的代码仓库了。除非你们有服务器硬盘级别的日常备份机制,可以尝试恢复。 /var/opt/gitlab/git-data下面的每个.git 文件夹,都对应着项目的代码仓库,可以进到里面cat config查看项目路径,然后新建项目,并 git remote add origin xxx, git push origin master 重新推送到新的项目。 |
ALEX 发表于 2024-4-28 22:11 更正一下: 回复1:应该是全部项目都显示不存在,显示为空的,应该都是点了create empty repository 回复2:只有点了create的几个空仓库 每个config文件中只有以下内容 [core] bare = true repositoryformatversion = 0 filemode = true 我可以直接使用上面备份的文件去恢复吗?会有风险吗?还是恢复完就跟现在是一样的 |
本帖最后由 ALEX 于 2024-4-29 11:28 编辑 目前看起来情况是: 1、本地的仓库/var/opt/gitlab/git-data是空的,现有的.git 目录都只是新建的空仓库。 2、备份压缩包是否能使用,需要看备份文件里面的内容。可以通过下述方法大致判断: 使用 tar -tvf xxx.tar.gz |grep repositories 查看压缩包的内容,或者找个临时文件夹,直接解压备份压缩包,看下里面是否有仓库文件,正常会有很多.git 文件夹。解压后使用 du -sh repositories看下总的仓库大小,是否正常。如果正常,可以开始恢复了。 你们如果已经有新仓库在当前实例上创建或者新增GitLab账号,这些新数据都会被恢复的数据覆盖,恢复前请确认清楚。 |
ALEX 发表于 2024-4-29 11:23 上面补充了查看解压的图片,repositories文件夹下的仓库名是全的,但都是空的 |
为她命 发表于 2024-4-29 15:20 这说明备份的时候就已经不存在仓库代码了。。db 只是数据库 找一找有没有其他的备份文件吧 |
ALEX 发表于 2024-4-29 16:44 本来是有备份的,但是被gitlab自动删除了,一开始都不知道有个7天自动删除的设置 |