因此,我对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] 删除。
我来说两句