我不小心将我的数据集添加到了我的提交中.当我按下提交时,它给了我标准的文件大小错误(数据集文件超过100MB).我恢复了之前的提交git revert,只添加了我的ipython笔记本和一些图像文件.
现在当我推送我的提交时,它仍然厌倦推送数据集文件
使用git diff --stat origin/master我发现要推送的文件:
agconti @ agconti-Inspiron-5520:〜/ my_dev/github/US_Dolltar_Vehicle_Currencny $ git diff --stat origin/master
.ipynb_checkpoints/US_Dollar_Vehicle_Currency-checkpoint.ipynb | 1972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CountryNumbers_indexConti.xlsx | Bin 0 -> 22762 bytes
Italian Trade/US_Dollar_Vehicle_Currency.ipynb | 1972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Italian Trade/images/3_year_exchange_rate_volitlity.png | Bin 0 -> 11808 bytes
Italian Trade/images/Currency_usage_breakdown_top20.png | Bin 0 -> 404666 bytes
Italian Trade/images/Currency_usage_observations_top20.png | Bin 0 -> 274964 bytes
Italian Trade/images/Currency_usage_trade_value_top20.png | Bin 0 -> 211274 bytes
Italian Trade/images/Exchange_rate_volitlity_top20.png | Bin 0 -> 345899 bytes
Italian Trade/images/prop_xm_top20.png | Bin 0 -> 258254 bytes
Italian Trade/images/rate_derive_activity_top20.png | Bin 0 -> 214196 bytes
README.md | 2 +-
US_Dollar_Vehicle_Currency.ipynb | 809 --------------------------------
images/3_year_exchange_rate_volitlity.png | Bin 11808 -> 0 bytes
images/Currency_usage_breakdown_top20.png | Bin 404666 -> 0 bytes
images/Currency_usage_observations_top20.png | Bin 292532 -> 0 bytes
images/Currency_usage_trade_value_top20.png | Bin 224008 -> 0 bytes
images/Exchange_rate_volitlity_top20.png | Bin 361868 -> 0 bytes
images/exporter_economic_strength_top20.png | Bin 0 -> 166575 bytes
images/exporter_trade_health_top20.png | Bin 0 -> 277557 bytes
images/prop_xm_top20.png | Bin 275777 -> 0 bytes
images/rate_derive_activity_top20.png | Bin 228728 -> 0 bytes
libpeerconnection.log | 0
22 files changed, 3945 insertions(+), 810 deletions(-)
Run Code Online (Sandbox Code Playgroud)
没有数据集文件.即便如此,他们仍然被推动.
我怎样才能让git停止推送数据集文件?
下面看一下错误信息:
Delta compression using up to 8 threads.
Compressing objects: 100% (27/27), done.
Writing objects: 100% (30/30), 279.15 MiB | 389 KiB/s, done.
Total 30 (delta 7), reused 3 (delta 0)
remote: Error code: c4fe7114933ad585dc5027c82caabdaa
remote: warning: Error GH413: Large files detected.
remote: warning: See http://git.io/iEPt8g for more information.
remote: error: File ForConti_AllItalianImportsVCP.raw is 987.19 MB; this exceeds GitHub's file size limit of 100 MB
remote: error: File italian_imports.csv is 1453.55 MB; this exceeds GitHub's file size limit of 100 MB
remote: error: File italian_imports_random_10percent.csv is 138.30 MB; this exceeds GitHub's file size limit of 100 MB
To https://github.com/agconti/US_Dollar_Vehicle_Currency
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/agconti/US_Dollar_Vehicle_Currency'
Run Code Online (Sandbox Code Playgroud)
因为您使用过git revert,所以这些文件仍在您的存储库中引用.听起来这是你的基本顺序:
git add <a bunch of stuff including big files>
git commit # creates a commit including the unwanted files
# realize mistake
git revert HEAD # this creates a new commit on top of the previous one,
# that simply undoes all the changes in the previous commit
# now trying to push
Run Code Online (Sandbox Code Playgroud)
如果您master从那以后(或之间)没有其他提交错误提交和错误提交的恢复(换句话说,您的图形看起来像(Z是最后一次良好的提交):
.....Z--A--A' <- master
Run Code Online (Sandbox Code Playgroud)
然后以下应该有所帮助:
git reset --hard Z
Run Code Online (Sandbox Code Playgroud)
这会将您的master分支重置为Z您的工作目录和索引,这意味着它看起来像是错误的提交,并且从未发生过还原.
如果在其他后提交A在上面时,你就需要使用git rebase -i Z,并删除对应的两条线A和A'代替.
如果A您想要保留其他更改(即,不仅仅是那里提交的大文件),您将需要使用该git rebase -i路由,并标记A为edit.这将导致rebase在刚刚完成A提交时停止,然后你可以这样做:
git rm --cached <big files> # remove the files from your index
git commit --amend # fix up the last commit
git rebase --continue # let rebase finish up the rest
Run Code Online (Sandbox Code Playgroud)
完成上述任一操作后,git push应该可以再次进行...