在将代码同步到远端仓库时,弹窗提醒”无法推送refs到远端。您可以试着运行”拉取”功能,整合您的更改“
但尝试后发现“拉取”功能也无法解决问题,最后是因为文件过大原因,在这里记录一下解决方法,并整理了另一种可能错误
1. 同步的文件过大
选择“打开git日志”后往前翻,发现这一段问题
说明有一个文件太大了导致无法提交,输入
git rev-list --objects --all
会列出所有的文件名和对应的这一串号码,然后找下对应那个文件名
在本地文件夹中进行删除(移走)
但发现移走后还是报错。。。最后发现,还要删除该大文件的提交记录才行
运行下面这段代码删除提交记录(将 MCM/Data_clean/model/basic_cnn_model.h5 改成你需要删除文件的地址,也就是上一步里号码串对应的)
git filter-branch -f --index-filter 'git rm -rf --cached --ignore-unmatch MCM/Data_clean/model/basic_cnn_model.h5' HEAD
然后就能够提交成功了
2.远程仓库和本地仓库不一致
先重新同步一下远程仓库
git pull --rebase origin master
再提交并推送到远端(最后一种强制推送,我就是运行这种后,显示出因为文件过大报错的)
git push
或
git push -u origin master
或
git push origin master -f (强制推送)
有错误欢迎指正!