推送代码至GitHub失败:.vscode-server与Tabnine文件过大求助
解决方案
你的判断完全正确——.vscode-server(VS Code远程开发的本地缓存文件)和TabNine的模型文件都是本地开发工具的私有配置/缓存,完全不需要推送到GitHub仓库。解决这个问题的核心就是通过.gitignore阻止这些文件被追踪,同时清理已经被git记录的文件(如果有的话),具体步骤如下:
1. 更新.gitignore文件
在项目根目录的.gitignore文件中添加以下两行(如果没有.gitignore就新建一个):
.vscode-server/ .local/share/TabNine/
这会告诉git彻底忽略这两个路径下的所有文件和子目录。
2. 移除已被追踪的大文件(关键步骤)
如果这些文件已经被git加入追踪列表(比如你之前不小心add过),仅修改.gitignore是没用的,需要从git的追踪中移除(本地文件会保留,不会被删除):
git rm --cached -r .vscode-server/ git rm --cached -r .local/share/TabNine/
参数--cached表示只移除git追踪记录,不删除本地文件;-r表示递归处理目录。
3. 提交修改并重新推送
提交.gitignore的更新和移除追踪的操作:
git add .gitignore git commit -m "Ignore .vscode-server and TabNine large files"
之后再次尝试推送:
git push origin main
补充说明
你之前的项目没遇到这个问题,大概率是那些项目的.gitignore里已经包含了类似规则,或者这些文件从未被git追踪过。这类本地工具缓存/配置文件本来就属于.gitignore的标准忽略范畴,没必要共享给仓库的其他协作者。
如果执行完上述步骤还是推送失败,说明这些大文件已经存在于你的git历史提交中,这时候需要彻底清理git历史(可以用git filter-repo工具),不过这种情况比较少见,先按上面的步骤操作即可。
内容的提问来源于stack exchange,提问作者Smeliott
相关产品推荐
相关产品推荐

