如何为Unreal Engine的Git项目创建保留分支与提交历史的离线备份?
保留Git分支与提交历史的离线备份方案
一、完整仓库离线备份方法(含所有历史与分支)
直接备份包含.git文件夹的完整本地仓库即可,因为.git目录存储了项目所有的提交历史、分支、标签等核心版本信息,无需依赖远程仓库。具体操作:
- 镜像克隆(推荐):使用
git clone --mirror <远程仓库地址>命令克隆仓库,这会完整复制远程仓库的所有分支、标签和提交记录,是最彻底的备份方式,适合长期离线存储。 - 普通克隆+全分支拉取:如果用普通
git clone,克隆完成后执行git fetch --all,确保本地获取到远程所有分支的副本;同时执行git lfs fetch --all,拉取所有GitLFS管理的大型二进制文件(适配Unreal Engine项目需求)。 - 备份时直接将整个克隆后的文件夹(包含
.git)压缩,存储到离线介质(如外接硬盘)即可。
二、删除原远程后,重新关联新远程的操作
你考虑的方法完全可行,具体步骤如下:
- 解压备份的仓库文件夹到本地。
- 打开GitBash进入该文件夹,先查看当前远程配置:
git remote -v,确认原远程地址已失效。 - 设置新的远程仓库地址:
git remote set-url origin <新远程仓库地址>。 - 若新远程仓库为空,推送所有分支和标签到新远程:
- 推送所有分支:
git push --all origin - 推送所有标签:
git push --tags origin - 推送GitLFS对象:
git lfs push --all origin
- 推送所有分支:
针对Unreal Engine项目的额外提示
- 备份前可执行
git gc命令清理仓库冗余数据,减小备份体积,且不会丢失任何版本信息。 - 确保GitLFS配置正确,备份时不要遗漏
.gitattributes文件,否则后续恢复后GitLFS无法正常识别大型文件。
内容的提问来源于stack exchange,提问作者samuelthomson
相关产品推荐
相关产品推荐

