导语:对于长期使用 Obsidian + Git 方案的用户来说,首次在新设备上完成 clone 操作可能会遇到难题。原因之一是仓库过大,例如包含了大量图片文件,导致首次拉取困难或超时。本文将介绍如何使用 Git LFS 功能,解决这一问题。

一、准备工作

在开始本文之前,您需要先为 Obsidian 仓库配置 Git。您可以参考以下两篇文章进行基础配置:

  1. 《Obsidian 的 PC 端同步方案,无代码搞定 Git 同步》
  2. 《Obsidian 的手机端同步方案,iOS + Git + Shortcuts 实现自动同步》

正确启用 Git LFS 没有风险,但建议在进行任何操作前对仓库进行全量备份。您还可以在桌面端安装 VSCode 客户端,在终端中完成接下来的命令行操作。

二、如何为一个已有仓库启用 Git LFS

  1. 安装 Git LFS:在命令行中运行以下命令:

    git lfs install

  2. 选择需要使用 LFS 跟踪的文件类型:

    git lfs track *.jpg
    git lfs track *.png

    这将在您的仓库中创建一个名为 .gitattributes 的文件,其中包含被 Git LFS 跟踪的文件类型信息。

  3. 将 .gitattributes 文件添加到 Git 仓库并提交:

    git add .gitattributes
    git commit -m Add Git LFS for *.jpg and *.png files

  4. 添加、提交和推送文件:

    git add file.jpg
    git commit -m Add large file
    git push origin master

三、如何避免拉取附件

  1. 使用 git clone 的 –filter=blob:none 选项:

    git clone --filter=blob:none <repository-url>

    使用此命令克隆仓库时,只会下载 Git 的内容,而不会下载 LFS 文件。需要特定的 LFS 文件时,可以通过 git lfs pull 手动拉取。

  2. 禁用自动下载 LFS 文件:

    git lfs install --skip-smudge --skip-clean

    现在您可以正常拉取仓库内容,但 LFS 文件将不会被下载。需要下载特定文件时,可以使用:

    git lfs pull

四、如何解决疑难杂症

启用 LFS 后,您可能需要完整重新 git clone 整个仓库。如果遇到报错,建议停止操作并搜索相应报错的解决方法。

五、小结

Git LFS 方案可以减小仓库同步大小,区分文件类型,在“同步”速度上下功夫。在“小容量设备部分同步仓库”的场景下,是一个很好的处理方案。


read more

Views: 0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注