【问题标题】:Git push throwing error: GH001: Large files detectedGit推送抛出错误:GH001:检测到大文件
【发布时间】:2016-12-04 18:44:12
【问题描述】:

我正在将我用 Swift 编写的 Xcode 项目推送到 GitHub。在这个项目中,我使用了适用于 IOS 的 GoogleMaps SDK 和与其他几个框架集成的 GoogleMaps 框架,这使得这个项目如我预期的那样繁重。特别是有一个名为 GoogleMaps 的文件超过 100MB,这违反了 GitHub 的政策,因此我遇到了错误。

C:\Users\Shyam Bhimani\Desktop\FindMyBuddy>git push

Git LFS:(0 个文件中的 0 个,跳过 1 个)0 B / 0 B,34 B 跳过计数 对象:691,完成。

Delta 压缩最多使用 4 个线程。 压缩对象:100% (597/597),完成。

写入对象:100% (691/691), 60.52 MiB | 384.00 KiB/s,完成。

总计 691(增量 161),重用 0(增量 0)

远程:错误:GH001:检测到大文件。你可能想试试 Git 大文件存储 - https://git-lfs.github.com。 远程:错误:跟踪:a2d7f29c8861bcb6bd13498cfcd44ac3

远程:错误:有关详细信息,请参阅http://git.io/iEPt8g

远程:错误:文件 Pods/GoogleMaps/Frameworks/GoogleMaps.framework/Versions/A/GoogleMaps 为 123.08 MB;这超出了 GitHub 的 100.00 MB 文件大小限制 https://github.com/shyambhimani/FindMyBuddy.git! [远程拒绝] master -> master (pre-receive hook 被拒绝)

错误:未能将一些引用推送到 'https://github.com/shyambhimani/FindMyBuddy.git'

到目前为止我已经尝试过

Git lfs track 'Pods/GoogleMaps/Frameworks/GoogleMaps.framework/Versions/A/GoogleMaps'

git lfs track '*.*' 

git lfs track '*.File'

但是没有运气,每次推送时它仍然给我同样的错误。

我不知道该文件的扩展名,所以我尝试了*.*,以防万一它有效但它没有。

如果有人能帮助我解决这个问题,我将不胜感激。 TIA

【问题讨论】:

  • 你是否为 Git LFS 付费?
  • 不,我不付钱。只是付费服务吗?有什么办法可以上传超过 100MB 的项目吗? @查理鱼
  • 刚刚编辑了我的答案。忘了提到一个事实,因为您使用的是 CocoaPods 和 Google Maps,所以很容易忽略它并在需要时重新下载。

标签: xcode git github google-maps-sdk-ios


【解决方案1】:

除非您为 Git LFS 付费,否则 GitHub 有 100MB 的限制。遗憾的是,除非您使用 .gitignore 忽略文件,否则无法解决此问题。但是这些文件将不再被 git 跟踪。

编辑

忘记提及您的具体情况,尤其是使用 Google Maps 等通用框架时,以后使用 CocoaPods 重新下载该框架非常容易。就我个人而言,我会忽略 .gitignore 中的整个文件夹,因为在你拉下你的 repo 之后,你总是可以轻松地重新下载它。

【讨论】:

  • 您能否将文件拆分为 git,并在结帐后从这些文件中重新创建原始文件?
  • @ThorbjørnRavnAndersen 那时你正在做很多工作。结帐后必须拆分每个文件并重新创建它变得太复杂了。对于每次提交推送和拉取,必须这样做真的会开始加起来并且很耗时。我个人不建议这样做。 GitHub 的整个 repo 也有 1GB 的限制。不是硬限制,但绝对不喜欢超过 1GB 的存储库。
  • @ThorbjørnRavnAndersen 我只是建议使用 Git LFS 或不在 Git 中跟踪文件。我想您可以拆分文件并重新创建它们,但我不建议这样做,尤其是在实践中。存在更好的解决方案。
  • 为什么这太复杂了?它只是一个用于拆分和重组的单行 shell 脚本。
  • 为什么?因为问题是如何解决在 github 上获取文件的问题。仅仅因为我提出了您没有提出的建议,并不一定会使它比您的更好或更差。由 OP 决定哪种方法最有效。通常还有其他要求,例如“git 中的文件必须完整且不需要可能会消失的互联网资源”或“我们不想给 github 钱”。这些可能会决定哪种方法是最好的。
猜你喜欢
  • 2019-07-03
  • 2017-07-22
  • 1970-01-01
  • 2023-03-16
  • 2016-03-05
  • 2021-12-22
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多