本地个人二进制文件存储与同步优化技术咨询
问题解答
① 降低二进制文件存储占用的方案
由于你的二进制文件(照片、视频)仅新增、从不修改,核心是避免双仓库重复存储相同对象,推荐两种实用方案:
- 共享Git对象库:创建备份仓库时执行
git clone --local --shared <主仓库本地路径>,两个仓库会共享同一个.git/objects目录,所有二进制文件仅在磁盘上存储一次,空间占用和普通文件夹几乎一致。后续新增二进制文件时,Git直接复用已有对象,不会重复写入。 - 拆分仓库+硬链接:把二进制文件单独放在一个只读Git仓库(因从不修改),文本笔记留在主仓库,在主仓库内用硬链接指向二进制仓库的文件。二进制文件仅在只读仓库存一份,主仓库通过硬链接访问,彻底避免重复占用空间。
② 简化双仓库同步操作
抛弃手动脚本,用Git原生本地远程机制就能简化:
- 绑定本地远程:在主仓库执行
git remote add backup <备份仓库本地路径>,将备份仓库设为主仓库的本地远程。 - 一键同步:主仓库提交后,只需执行
git push backup <分支名>,即可同步所有变更到备份仓库;若需双向同步,在备份仓库执行git pull main <分支名>即可(先把主仓库设为备份仓库的远程)。 - 自动同步:在主仓库的
.git/hooks/post-commit文件中写入git push backup main(确保文件可执行),每次提交后会自动完成同步,无需手动干预。
如果仅需单向备份,也可以用rsync配合定时任务(如crontab),只同步新增二进制文件和修改的文本文件,这种方式更轻量,完全不需要Git版本控制逻辑,空间占用和普通文件夹一致。
内容的提问来源于stack exchange,提问作者Анатолий Смородин
相关产品推荐
相关产品推荐

