4

我有一个F超过 100 MB 限制的文件,我试图推送。所以推送失败了。然后我删除了该文件,因为它无法被推送并假设我需要一次又一次地add . ; commitpush。在自动生成的提交中它说deleted file F。在push它仍然试图上传该文件。好吧,所以我想我需要取消暂存F。所以我做到了reset F。我收到消息fatal: ambiguous argument 'out': unknown revision or path not in the working tree.不知道这意味着什么,所以我尝试让 git 向我显示暂存文件diff --cached,但输出为空。我对这种情况以及如何解开它感到困惑。

回顾一下链条:

$> git add. ; git commit

$> git push

$> remote: error: File F is 143.41 MB; this exceeds GitHub's file size limit of 100.00 MB

$> rm F

$> git add. ; git commit

$> git push

$> remote: error: File F is 143.41 MB; this exceeds GitHub's file size limit of 100.00 MB

$> git diff --cached

$>

4

1 回答 1

8

问题是该文件已经是历史提交的一部分。

您需要返回提交并修改它:

# reset to previous commit but keeping content:
git reset --soft "HEAD^"
# potentially modify the tree content
# amend the old commit with the file removed:
git commit --amend
# push:
git push
于 2016-10-15T19:36:21.357 回答