如何让Git LFS文件存储到本地备份硬盘而非推送至远程服务器?
解决Git LFS仅本地存储大文件、不上传远程的问题
核心思路
你设置的lfs.storage只是修改Git LFS在本地的文件存储路径,并没有阻止它向远程服务器推送LFS对象。要实现只本地备份大文件、正常推送其他代码,需要禁用远程LFS的推送功能,同时保留本地LFS的管理逻辑。
具体操作步骤
配置Git LFS不推送任何对象到远程
在仓库目录下执行以下命令,设置当前仓库的LFS推送规则,让Git LFS跳过所有远程推送:git config --local lfs.pushurl none如果想全局生效(所有仓库都适用),可以去掉
--local参数:git config lfs.pushurl none确认本地LFS存储路径已正确设置
执行命令检查当前存储路径:git config --get lfs.storage如果输出不是你的本地备份硬盘路径,重新执行:
git config --local lfs.storage /absolute/path/to/your/backup/drive验证推送行为
现在尝试推送代码,Git会正常推送普通文件,Git LFS会自动跳过远程上传操作,不会再触发带宽配额不足的报错。
额外说明
- 若之后需要恢复远程LFS推送,只需执行
git config --local --unset lfs.pushurl(针对当前仓库)或git config --unset lfs.pushurl(全局)即可。 - 注意:这种配置下,其他用户克隆你的仓库时无法获取到LFS管理的大文件,仅适合你自己本地备份大文件、共享普通代码的场景。
内容的提问来源于stack exchange,提问作者Sarmad S.
相关产品推荐
相关产品推荐

