You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Git仓库迁移至GitHub并适配LFS的正确流程咨询

迁移包含LFS对象的Git仓库至GitHub的最佳流程

你之前操作的问题

你只执行了LFS对象推送,但未推送Git仓库的核心分支、提交记录等数据;如果原仓库未配置LFS追踪大文件,LFS也没有可推送的对象,最终导致GitHub仓库为空。

完整迁移流程

1. 前置准备

确保本地已安装Git LFS,未安装则执行:

git lfs install

2. 处理原仓库中的超大文件(若原仓库未用LFS追踪)

如果原仓库里的大文件(比如你提到的Project/Resources/AssessmentTool.zip)原本没被LFS管理,需要先将其纳入LFS并清理历史:

  • 克隆原仓库:
    git clone $oldURL
    cd 仓库目录名
    
  • 追踪目标大文件:
    git lfs track "Project/Resources/AssessmentTool.zip"
    
    (如果有多个同类型大文件,可用通配符如git lfs track "*.zip")
  • 提交.gitattributes配置文件:
    git add .gitattributes
    git commit -m "配置LFS追踪超大文件"
    
  • 替换历史提交中的大文件为LFS对象(关键步骤,避免历史提交里的大文件触发GitHub限制):
    git lfs migrate import --include="Project/Resources/AssessmentTool.zip" --include-ref=refs/heads/*
    
  • 将修改推回原仓库(如果有权限):
    git push origin --force
    

3. 镜像迁移至GitHub

完成大文件处理后,进行完整的仓库镜像迁移:

  • 克隆原仓库的镜像(包含所有分支、标签):
    git clone --mirror $oldURL
    cd 仓库目录名.git
    
  • 添加GitHub作为远程仓库:
    git remote add github $newURL
    
  • 先推送Git核心数据(所有分支、标签、提交记录):
    git push --mirror github
    
  • 再推送所有LFS对象:
    git lfs push --all github
    

4. 验证迁移结果

  • 登录GitHub查看目标仓库,确认所有分支、标签都已同步
  • 克隆新的GitHub仓库,执行git lfs pull,检查超大文件是否能正常拉取

内容的提问来源于stack exchange,提问作者GLDavid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:09:29