NEWS 新闻NEWS 新闻

如何使用 Git LFS 功能解决 Obsidian 过多附件导致的首次同步问题

问题描述:

当你的 Obsidian 仓库包含大量图片等附件时,首次同步到新设备会变得非常困难,甚至超时。

解决方案:

使用 Git Large File Storage (LFS) 功能,它可以将图片等大型文件存储在独立的服务器上,只在 Git 仓库中保存指向这些文件的指针,从而减小仓库大小,提高同步效率。

步骤:

  1. 准备工作:
    • 确保已经安装 Git 并配置了 Obsidian 仓库。
    • 了解 Git 基础操作,如 clone、add、commit、push 等。
    • 可选:在桌面端安装 VSCode 并打开 Obsidian 仓库目录,方便在终端中操作。
    • 重要: 在进行任何操作前,建议对仓库进行全量备份,以防意外情况。

2.安装 Git LFS:
– 在命令行中运行以下命令:
bash
git lfs install

  1. 跟踪文件类型:

    • 决定哪些文件类型需要使用 LFS 跟踪,例如所有图片文件:
      bash
      gitlfs track *.jpg
      git lfs track *.png
    • 这会在仓库中创建一个 .gitattributes 文件,记录哪些文件类型被 LFS 跟踪。
  2. 提交 .gitattributes 文件:

    • .gitattributes 文件添加到 Git 仓库并提交:
      bash
      git add .gitattributes
      git commit -m Add Git LFS for *.jpg and *.png files
  3. 添加、提交和推送文件:

    • 现在可以像往常一样添加、提交和推送文件。Git LFS 会自动处理大型文件。
    • 例如:
      bash
      git add file.jpg
      git commit -m Add large file
      git push origin master

避免拉取附件:

  1. 使用 git clone--filter=blob:none 选项:
    • 只下载 Git 仓库内容,不下载 LFS 文件。
    • 适用于 Git 2.19 及以上版本。
    • 命令:
      bash
      git clone --filter=blob:none \u003crepository-url\u003e
  • 需要手动拉取特定 LFS 文件时,可以使用 git lfs pull
  1. 禁用自动下载 LFS 文件:
    • 已经克隆了仓库后,可以使用以下命令禁用自动下载:
      bash
      git lfs install --skip-smudge
    • 现在拉取仓库内容时,LFS 文件不会被自动下载。
    • 可以使用 git lfs pull 手动下载特定 LFS 文件。

疑难杂症:

  • 报错: 启用 LFS 后出现各种报错。
    -建议停止操作并搜索对应报错的解决方法。

    • 重新 clone 整个仓库通常是解决问题的最简单方法。
  • 客户端/服务端支持:
    • 确保客户端和服务端都支持 Git LFS。
    • 常见服务端:GitHub、GitLab、Bitbucket 等。
    • 如果使用自定义服务器,需要检查是否支持 Git LFS。

总结:

Git LFS 是一种高效的解决方案,可以解决 Obsidian 仓库中过多附件导致的首次同步问题。通过使用 Git LFS,你可以轻松地管理大型文件,并保持Git 仓库的轻量级,提高同步效率。

其他建议:

  • 考虑使用在线图床,将图片等大型文件存储在云端,进一步减小仓库大小。
  • 定期清理仓库,删除不需要的附件,保持仓库的整洁。
  • 了解 Git LFS的更多功能,例如 git lfs pullgit lfs push 等。

希望以上信息对您有所帮助!


>>> Read more <<<

Views: 0

发表回复

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