在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),實現刪除項目后的回收站機制。
請注意,數據恢復的成功率取決于您是否有定期備份以及備份的完整性。