无法从git撤消大文件:.gitignore文件,git rm --cached。无法运作

时间:2019-03-20 11:40:25

标签: git

由于回购中包含215 Mb文件,因此我无法将本地回购推送到远程来源。推送时,我不断收到错误消息:

> remote: error: File
> Elec/modelling-analysis/pickles/fitted_KNN_gridsearchs.pickle is
> 215.67 MB; this exceeds GitHub's file size limit of 100.00 MB To https://github.com/pat-hearps/elec-forecast-nem.git  ! [remote
> rejected]   master -> master (pre-receive hook declined) error: failed
> to push some refs to
> 'https://github.com/pat-hearps/elec-forecast-nem.git'

这是尽管我的本地repo .gitignore文件中列出了该文件。我搜索了许多Stackoverflow问答,例如:

.gitignore is ignored by Git

Gitignore not working

我尝试了以下操作:

确保.gitignore文件既包含确切的文件路径,又包含我的大文件所在的文件夹的所有文件。我的.gitignore文件包含以下所有行–是的,我知道它看起来像业余时间,但是我数小时以来,我一直在尝试我能想到的所有事情,并希望确保我忽略了此文件:

./Elec/modelling-analysis/pickles/**
./Elec/modelling-analysis/pickles/*
./Elec/modelling-analysis/pickles/fitted_KNN_gridsearchs.pickle
Elec/modelling-analysis/pickles/**
Elec/modelling-analysis/pickles/*
Elec/modelling-analysis/pickles/fitted_KNN_gridsearchs.pickle

我已使用

从本地存储库中删除了有问题的文件本身(将其备份到其他地方)。
git rm -r Elec/modelling-analysis/pickles/fitted_KNN_gridsearchs.pickle

,然后使用了以下我理解的命令集:应该取消跟踪所有文件,然后重新添加.gitignore中的所有文件:

git rm -r --cached .
git add .
it commit -m "rmvd cache and re-added all"

然后当我进行git push时,仍然会遇到与以前相同的错误-

remote: error: File Elec/modelling-analysis/pickles/fitted_KNN_gridsearchs.pickle is 215.67 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://github.com/pat-hearps/elec-forecast-nem.git
 ! [remote rejected]   master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/pat-hearps/elec-forecast-nem.git'

尽管文件不再位于存储库中,但仍未跟踪。我在SO上阅读的所有其他答案都表明,我尝试过的解决方案应该可以使用,但实际上不可行。我已经尝试了许多不同的迭代和变化。

在我的主目录中,我还有一个全局.gitignore,它刚好叫.g​​itignore。我以为可能存在冲突,所以我将其重命名为.gitignore_global,并使用此命令将重命名的文件重置为全局文件: git config --global core.excludesfile〜/ .gitignore_global

但是我应该注意,该全局包含的唯一行是:

.DS_store
*.ipynb_checkpoints

我也在文件上尝试了这些:

git update-index --assume-unchanged
git update-index --skip-worktree 

很抱歉,如果这看起来像是一个重复的问题,但是我觉得我已经花了很多时间来尝试类似问题的答案,而这些问题似乎没有用……

此外,像20次提交之前一样,首先添加了大型的pickle文件,将回购重设回添加之前的状态会丢失太多其他工作…

0 个答案:

没有答案