导语:对于长期使用 Obsidian + Git 方案的用户来说,首次在新设备上完成 clone 操作可能会遇到难题。原因之一是仓库过大,例如包含了大量图片文件,导致首次拉取困难或超时。本文将介绍如何使用 Git LFS 功能,解决这一问题。
一、准备工作
在开始本文之前,您需要先为 Obsidian 仓库配置 Git。您可以参考以下两篇文章进行基础配置:
- 《Obsidian 的 PC 端同步方案,无代码搞定 Git 同步》
- 《Obsidian 的手机端同步方案,iOS + Git + Shortcuts 实现自动同步》
正确启用 Git LFS 没有风险,但建议在进行任何操作前对仓库进行全量备份。您还可以在桌面端安装 VSCode 客户端,在终端中完成接下来的命令行操作。
二、如何为一个已有仓库启用 Git LFS
-
安装 Git LFS:在命令行中运行以下命令:
git lfs install
-
选择需要使用 LFS 跟踪的文件类型:
git lfs track *.jpg
git lfs track *.png
这将在您的仓库中创建一个名为 .gitattributes 的文件,其中包含被 Git LFS 跟踪的文件类型信息。 -
将 .gitattributes 文件添加到 Git 仓库并提交:
git add .gitattributes
git commit -m Add Git LFS for *.jpg and *.png files
-
添加、提交和推送文件:
git add file.jpg
git commit -m Add large file
git push origin master
三、如何避免拉取附件
-
使用 git clone 的 –filter=blob:none 选项:
git clone --filter=blob:none <repository-url>
使用此命令克隆仓库时,只会下载 Git 的内容,而不会下载 LFS 文件。需要特定的 LFS 文件时,可以通过 git lfs pull 手动拉取。 -
禁用自动下载 LFS 文件:
git lfs install --skip-smudge --skip-clean
现在您可以正常拉取仓库内容,但 LFS 文件将不会被下载。需要下载特定文件时,可以使用:
git lfs pull
四、如何解决疑难杂症
启用 LFS 后,您可能需要完整重新 git clone 整个仓库。如果遇到报错,建议停止操作并搜索相应报错的解决方法。
五、小结
Git LFS 方案可以减小仓库同步大小,区分文件类型,在“同步”速度上下功夫。在“小容量设备部分同步仓库”的场景下,是一个很好的处理方案。
Views: 0