在Linux系统中,GitLab的数据恢复方法主要包括以下几种:
查看备份文件:
ls /var/opt/gitlab/backups/
备份文件通常格式是:1700402124_2024_04_01_12.9.2_gitlab_backup.tar
。
恢复整个备份:
sudo gitlab-backup restore BACKUP1700402124_2024_04_01_12.9.2
注意,这样会恢复整个GitLab到备份时的状态。
恢复单个项目:
GitLab默认不支持只恢复单个项目,但你可以用第三方工具解压备份文件手动恢复单个仓库数据。
如果本地电脑之前有克隆这个项目,虽然Gitlab服务器端删除了,但你的代码还在本地,恢复特别简单:
git remote add origin 新项目地址
git push -u origin --all
git push -u origin --tags
如果本地电脑没有,但团队其他成员电脑里可能有这个项目最新代码:
git remote set-url origin 新项目地址
git push -u origin --all
git push -u origin --tags
定期备份:
Gitlab自带备份命令(每天自动执行一次备份):
gitlab-backup create
限制删除项目的权限:
设置只有管理员才能删除项目,普通成员无权限删除。
使用归档功能代替删除:
在项目【Settings】【General】【Archive project】。
使用回收站机制的插件(高级用法):
部署一些第三方的Gitlab插件(例如gitlab-trash),实现删除项目后的回收站机制。
请注意,数据恢复的成功率取决于您是否有定期备份以及备份的完整性。