推送Access数据库至GitHub仓库时遇大文件误判报错求助
解决GitHub推送Access数据库文件时的大文件报错问题
问题原因
GitHub的报错并非针对你当前的文件大小,而是Git历史记录中存在这些.accdb文件的大版本。Git会追踪文件的所有历史变更,推送时远程仓库会检查整个提交历史里的文件尺寸,哪怕你现在把文件缩小到400kB,历史里的大版本依然会触发限制。
解决方法
情况1:仓库是新建的,还未推过任何内容到远程
- 方法一:清理缓存后重新添加文件
git rm --cached AnyLogicDB.accdb AnyLogicDB-Spot.accdb git add . git commit -m "重新添加小型Access数据库文件" git push origin main - 方法二:直接重置仓库(适合还没有其他重要提交的情况)
rm -rf .git git init git add . git commit -m "首次提交:添加小型Access数据库文件" git remote add origin <你的仓库地址> git push -u origin main
情况2:仓库已有历史提交,之前推过这些文件的大版本
需要彻底改写Git历史,移除所有记录中的大文件痕迹:
- 安装
git filter-repo工具(这是官方推荐的历史改写工具,比旧的filter-branch更安全) - 运行命令移除指定文件的所有历史记录:
git filter-repo --invert-paths --path AnyLogicDB.accdb --path AnyLogicDB-Spot.accdb - 强制推送改写后的历史到远程(注意:此操作会覆盖远程仓库的历史,若有协作成员需提前沟通):
git push origin main --force - 重新添加当前的小型数据库文件并推送:
git add AnyLogicDB.accdb AnyLogicDB-Spot.accdb git commit -m "添加小型Access数据库文件" git push origin main
预防建议
- 如果不需要追踪
.accdb文件的变更,可将其加入.gitignore文件,避免后续再出现类似问题。 - 若未来数据库文件可能变大,提前使用Git LFS管理这类大文件,避免触发GitHub的大小限制。
内容的提问来源于stack exchange,提问作者Hadj Ahmed
相关产品推荐
相关产品推荐

