对于已删除且不再跟踪的大文件,Git强制将其推送到github拒绝

塔阿姆

因此,我对git还是比较陌生,有点不高兴。

我对本地副本进行了许多新更改,这些更改与我的github存储库冲突(但是我的本地副本正确,并且我想覆盖远程存储库)。本地副本和远程副本之间有2次提交和3次提交。

我还不小心将一些非常大的csv文件添加到了本地提交中,但是git push -f由于github拒绝了这些大文件所以我现在无法将其推送到远程仓库中。

现在,我删除了文件,并使用git rm --cached "filename.csv"从提交中删除了文件,git commit --amend -CHEAD据我所知,git ls-files | grep "*.csv"它们不再属于提交内容

但是,当我git push -f在不再跟踪它们之后尝试立即使用时,github仍然会检测到它们并拒绝我的推送,因为它们太大了,尽管它们不再位于文件系统或提交中。

我该如何推送本地副本以覆盖远程副本并获得实现不再拥有大文件的推送?

在此先感谢您提供的所有git建议...对于新手来说可能有点令人困惑。

丹尼尔

听起来您已经提交了大文件,然后又进行了一次提交删除了大文件。这意味着大文件仍处于一个或多个更早的提交中。当您推送到GitHub时,您将推送包含所有提交(包括所有具有大文件的提交)的整个存储库。GitHub实际上由于文件较大而拒绝了较早的提交之一。

之所以看不到文件,git ls-files是因为它仅列出当前索引中的文件(最后一次提交,并更改您将要提交的文件)和工作树(磁盘上文件的当前状态),而不列出存储库历史记录中的所有文件。

要解决此问题,您可以按照有关如何从Git存储库中的提交历史记录中删除/删除大文件的步骤进行操作这样,您就可以像从未提交过文件一样进行创建。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

由于我已经删除了大文件而无法将其推送到GitHub

Git推送到Github后会删除本地文件吗?

TFS 到 GitHub 迁移(在使用 git tfs clone 克隆之前,无法将实际从 tfs 存储库中删除的较大文件推送到 github)

首次推送到github repo生成了765个未跟踪或已修改的文件

从历史记录中删除大文件/在本地完全删除历史记录,然后将其推送到源

在git中本地取消跟踪文件夹并推送到生产环境而不删除

更改推送到 GitHub 的提交...删除文件

如何忽略大文件并推送到git repo

如何使用.git提交子文件夹并将其推送到github?

未指定 git 别名,但数据已推送到 github

Git强制推送git不知道的文件已更改?

git:将已删除的分支推送到远程

将工作空间中的已修改文件推送到Github

将忽略的文件添加到存储库中,但此后不再跟踪

Git 推送被拒绝推送到远程

如果已经将文件推送到远程分支,合并到开发分支并且不是最新提交,则如何从git中完全删除文件

Git LFS拒绝正确跟踪我的大文件,直到执行以下操作

git lfs会减少推送到Github的文件的大小吗?

Git Repo限制文件名不被推送到GitHub

试图推送到Github的“更新被拒绝”

将大文件推送到托管在 tfs 上的 git 存储库

git lfs prune从lfs删除文件并推送到源

如果本地Git分支不再存在其远程跟踪参考,则将其删除

推送失败的错误消息github大文件

如何取消跟踪Git中所有已删除的文件

如何从已推送的git commit中删除文件

用于强制推送到分支的 git 别名

在强制推送到另一个分支时,Git没有将新文件推送到远程

从git commit删除大文件