【问题标题】:Git still trying to push ignored and deleted fileGit 仍在尝试推送被忽略和删除的文件
【发布时间】:2015-11-02 04:01:41
【问题描述】:

我有一个相当大的.framework 文件,由于某种原因,Git LFS 无法正常工作,所以我决定忽略它,以免它被推送。

  1. 我已将其添加到我的.gitignore
  2. 我从终端运行了这 3 个命令

    git rm -r --cached .
    git add .
    git commit -m "fixed untracked files"
    
  3. 我确认 .framework 不再被跟踪。

  4. 当我再次尝试推送提交时,我仍然收到文件太大的错误。

    remote: error: GH001: Large files detected. You may want to try Git Large 
    File Storage - https://git-lfs.github.com.
    remote: error: Trace: 6b97634aa8b5de75e8affdcb19d13b98
    remote: error: See http://git.io/iEPt8g for more information.
    remote: error: File path/to/My.framework/Versions/A/My is 101.13 MB;
    this exceeds GitHub's file size limit of 100.00 MB
    
  5. 我也完全删除了该文件,它仍在尝试推送它。

.framework 并不总是那么大。它最近才变成 >100MB,所以它过去可以毫无问题地推送。这里有什么解决办法吗?

【问题讨论】:

  • 现在是正在推送大文件还是它已经在存储库中并且删除失败(我认为这应该不是问题,但我可能会看到一些混乱)。 git show 对当前提交有什么看法?
  • 您是在阻止文件 .framework,还是目录 My.framework
  • 该文件已在存储库中存储了一段时间,大约为 21 MB,但我最近使用 Xcode 7(启用了Bitcode)对其进行了重建,它增长到了 106 MB。这是推送开始失败的时候。我禁用了Bitcode,现在它的大小又回到了 21 MB。然而,推动仍然失败。 @Makoto 我忽略了目录My.framework

标签: git github


【解决方案1】:

当你推送时,你不只是推送一个提交,而是推送远程还没有的所有提交。我认为你做了这样的事情。

1. Push/pull to be in sync with the remote.
2. Commit the large file.
3. Delete the large file.
4. Push.

现在您正在推送添加大文件的提交和删除它的提交。他们必须被推动。

您可以使用git log --stat origin/master 检查将要推送的内容(假设远程为origin,分支为master)。特别是,提交 6b97634aa8b5de75e8affdcb19d13b98 将是问题。

如果是这种情况,您将不得不delete the large file from history

但鉴于您在 both git-lfs 推送方面遇到问题,我认为这里还有其他事情发生。我怀疑您缺少 另一个 大文件。也许您可以展示您的实际存储库?

【讨论】:

  • 感谢您的澄清。实际上,我通过禁用Bitcode.framework 恢复到合理的大小(21 MB)。我从.gitignore 中删除了它并尝试了新的提交/推送,但得到了同样的错误(说它是 101.13 MB,尽管现在只有 21 个)。你建议我做什么?
  • @Kevin_TA 就像我说的,你必须delete it from history。这意味着重写您的提交(而不是创建新的提交),使其从未存在,因此不需要推送。除了简单地删除它之外,您还可以做更多细微的事情,例如每次历史提交都在没有 Bitcode 的情况下重新生成它,因此它会变得更小。这些都涉及git filter-branch,或者如果没有太多提交,您可以使用git rebase -i 手动完成。那是另一个问题。
  • 感谢您的帮助。实际上,我最终备份了我想要保留的更改(物理文件),将提交重置为在我使用 Bitcode 构建 .framework 之前,复制了我已更改的文件,然后重新提交并推送.终于成功了。
  • 大文件被删除了,怎么提交呢?
猜你喜欢
  • 2022-11-03
  • 2013-08-18
  • 2018-12-29
  • 2011-02-12
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
  • 1970-01-01
相关资源
最近更新 更多