写点什么

SVN 合并到 Git 时有文件大于 100 M 被限制 Push

作者:HoneyMoose
  • 2024-05-11
    美国
  • 本文字数:855 字

    阅读完需:约 3 分钟

如果有文件大小大于 100M,GitHub 是会被限制推送到仓库中的,大概率情况会显示下面的错误:

 

remote: Resolving deltas: 100% (3601/3601), done.remote: error: Trace: aea1f450da6f2ef7bfce457c715d0fbb9b0f6d428fdca80233aff34b601ff59bremote: error: See https://gh.io/lfs for more information.remote: error: File Ektron_Prod/App_Data/GeoIPOrg.dat is 139.96 MB; this exceeds GitHub's file size limit of 100.00 MBremote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
复制代码



对于上面的问题,我们需要使用 LFS 服务。

找到合并信息

运行下面的代命令,找到我们合并后仓库中的合并信息:

 

 git lfs migrate info --everything --above="100MB"
复制代码

这个命令将会找到在当前仓库中有那些文件的扩展名大小超过 100MB。

我们得到了下面的输出。

 

migrate: Sorting commits: ..., done.migrate: Examining commits: 100% (17/17), done.*.dat           587 MB    4/13 files    31%
LFS Objects 0 B 0/4517 files 0%
复制代码

提交处理

从上面的输出中,我们看到了 .dat 文件有超过 100 MB。

下一步,我们需要运行命令对针对这个文件的提交进行处理。

 

 git lfs migrate import --everything --include="*.dat"
复制代码

随后,控制台输出:

 

migrate: Sorting commits: ..., done.migrate: Rewriting commits: 100% (17/17), done.  master        7f1f2a07b4dc972e6243984675bd28a3ea15b212 -> 3de8026c759fe6a22199d4df7c640e1bbd1b28e0migrate: Updating refs: ..., done.migrate: checkout: ..., done.
复制代码

使用命令进行提交

运行下面的命令,将本地代码仓库提交到远程:

 

git push --all origin -u
复制代码

当然,在这个提交之前,需要设置远程仓库的地址,这个你可以通过修改 config 文件进行修改。

再次确认所有 LFS 文件提交

在合并的过程中,可能会有些大型文件没有提交到 LSF 上面。

所以需要运行下下面的命令,再次确认所有的 LSF 文件被提交。

 

git lfs push origin --all
复制代码


用户头像

HoneyMoose

关注

还未添加个人签名 2021-03-06 加入

还未添加个人简介

评论

发布
暂无评论
SVN 合并到 Git 时有文件大于 100 M 被限制 Push_HoneyMoose_InfoQ写作社区