Obsidian 将笔记存储在本地设备上,因此即使在离线状态下也能随时访问。如果需要在多台设备上访问笔记,则需要设置同步方式。
本指南涵盖了常见的同步方法,包括避免数据丢失和确保流畅体验的技巧。
我们还建议阅读[[备份笔记|备份指南]]来保护你的数据。
## 同步方法
在 Obsidian 中,你的数据以文件形式存储在一个名为[[本地仓库与远程仓库|仓库]]的文件夹中。这意味着你可以通过多种方式同步数据。
以下是 [Obsidian 社区](https://obsidian.md/zh/community)成员常用的几种同步方法:
1. **官方同步**:[[#Obsidian Sync]]
2. **第三方云同步**:[[#iCloud]]、[[#OneDrive]] 和 [[#Google Drive]]
3. **本地同步**:[[#Syncthing]]
4. **版本控制**:[[#Git]] 和 [[#Working Copy]]
## Obsidian Sync
**推荐系统**:`Windows`、`macOS`、`Linux`、`iOS`、`Android`
最直接且官方支持的同步方法是我们的第一方解决方案:[[Obsidian 官方同步简介|Obsidian Sync]]。
Obsidian Sync 通过使用远端的远程仓库来创建数据副本,从而保持所有设备上的仓库同步。本地副本始终保留在你的设备上。
请按照[[启动同步服务|设置指南]]来配置 Obsidian Sync。
## iCloud
**推荐系统**:`macOS`、`iOS`、`iPadOS`
iCloud 可用于在 iOS 和 macOS 之间同步仓库。但是,**Windows 上的 iCloud Drive** 可能会导致文件重复或损坏。
**如何在 iCloud Drive 中创建和存储仓库**:
- **启用 iCloud Drive**:
- 在 macOS 上:前往**系统偏好设置 → Apple ID → iCloud → iCloud Drive**。
- 在 iOS 上:前往**设置 → [你的名字] → iCloud → iCloud Drive**。
- **在 iCloud 中创建新仓库**:
- 在 macOS 上:
1. 打开 **Obsidian** 并选择**新建远程仓库**。
2. 在文件选择器中,导航到 **iCloud Drive → Obsidian**。
3. 为仓库创建一个文件夹并命名。
4. 选择**创建**完成操作。
- 在 iOS 上:
1. 打开 **Obsidian** 并点击**新建远程仓库**。
2. 输入仓库名称。
3. 开启**存储在 iCloud 中**。
4. 点击**创建**。
- **在另一台 Apple 设备上打开仓库**:
- 在另一台 macOS 或 iOS 设备上,打开 **Obsidian**,进入[[管理仓库|仓库切换器]],选择**打开本地仓库**。导航到 **iCloud Drive → Obsidian**。
> [!warning]+ iOS 和 iPadOS 文件夹位置
> 在移动设备上使用 iCloud 时,请确保仓库存储在正确的位置:`iCloud Drive/Obsidian/[你的仓库名称]`。
>
> 仓库应位于 iCloud Drive 中的 **Obsidian** 文件夹内。右侧带有 Obsidian 图标的文件夹才是正确的。不要使用没有应用图标的普通文件夹。
>
> ![[iCloud-folder-location.png#interface]]
>
> 要验证仓库位置,请打开**文件**应用,点击**浏览**,在**位置**下选择 **iCloud Drive**,确认仓库在 **Obsidian** 文件夹内。如果仓库在其他位置,可能会遇到同步问题。
> [!tip] 最佳实践
> - 对于 **macOS 14(Sonoma)及更早版本**:在 iCloud 设置中禁用**优化 Mac 储存空间**,以防止文件被卸载。此设置影响设备上的所有 iCloud 存储,而不仅仅是 Obsidian。
> - 对于 **macOS 15(Sequoia)**:右键点击 iCloud Drive 中的 **Obsidian** 文件夹,选择**保持下载**。
## OneDrive
**推荐系统**:`Windows`、`macOS`(在 Android 上功能有限)
[OneDrive](https://support.microsoft.com/en-us/office/Sync-with-OneDrive-bb89981b-e382-4969-b8fd-d413a90b6db3#ID0EAABAAA=Set_up) 是 Windows 和 macOS 用户常用的云存储选项。但它在 Android 上存在限制,也不正式支持在 iOS 上同步 Obsidian 仓库。
> [!info] 保持文件离线可用
> 在使用 OneDrive 同步之前,请确保仓库文件夹标记为**始终保留在此设备上**。这可以防止 OneDrive 卸载文件,导致 Obsidian 认为文件丢失。
**如何在 OneDrive 中创建和存储仓库**:
1. **设置 OneDrive**:
- 在 Windows 上:通过 OneDrive 应用或 Microsoft 账户登录。
- 在 macOS 上:下载 OneDrive 应用并登录。
2. **在 OneDrive 中创建新仓库**:
- 在 Windows/macOS 上:
1. 打开**文件资源管理器**(Windows)或 **Finder**(macOS),导航到 **OneDrive → Documents**。
2. 创建一个新文件夹(例如 \"Obsidian Vault\")。
3. 打开 **Obsidian**,选择**新建远程仓库**,然后选择 OneDrive 文件夹。
3. **在另一台设备上打开仓库**:
- 在另一台设备上,打开 **Obsidian**,进入[[管理仓库|仓库切换器]],选择**打开本地仓库**。导航到 **OneDrive → Documents**。
> [!info] Android 同步
> OneDrive 在 Android 上的同步效果可能不佳。可以考虑使用 [Dropsync](https://play.google.com/store/apps/details?id=com.ttxapps.dropsync) 或 [FolderSync](https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.lite) 等应用。
> [!tip] 最佳实践
> - 始终将仓库文件设为**离线可用**,右键点击文件夹并选择**始终保留在此设备上**。
> - 避免对仓库使用 OneDrive 的**文件按需**功能,以防止同步问题。
## Google Drive
**推荐系统**:`Windows`、`macOS`、`Android`(在 iOS 上功能有限)
[Google Drive](https://support.google.com/drive/answer/10838124?hl=en) 是另一个常用的云存储解决方案。虽然它不正式支持同步 Obsidian 仓库,但你可以使用第三方应用和插件在设备间同步。
> [!info] iOS 支持
> Google Drive 不正式支持在 iOS 上同步 Obsidian 仓库。可以考虑使用第三方解决方案或插件在 iOS 上进行同步。
**如何在 Google Drive 中创建和存储仓库**:
1. **设置 Google Drive**:
- 在 Windows 或 macOS 上:下载 Google Drive 应用并登录。
- 在 Android 上:确保 Google Drive 已启用并登录。
2. **在 Google Drive 中创建新仓库**:
- 在 Windows/macOS 上:
1. 打开**文件资源管理器**(Windows)或 **Finder**(macOS),导航到 **Google Drive**。
2. 创建一个新文件夹(例如 \"Obsidian Vault\")。
3. 打开 **Obsidian**,选择**新建远程仓库**,然后选择 Google Drive 文件夹。
3. **在另一台设备上打开仓库**:
- 在另一台设备上,打开 **Obsidian**,进入[[管理仓库|仓库切换器]],选择**打开本地仓库**。导航到你的 Google Drive 文件夹。
> [!tip] 最佳实践
> - 在 Google Drive 中将仓库文件设为**离线可用**,以避免因文件卸载导致的同步问题。
> - 对于 iOS,可以考虑其他方法,如 [[Obsidian 官方同步简介|Obsidian Sync]]、[[#iCloud]],或使用 **Remotely Save** 插件。
## Syncthing
**推荐系统**:`Windows`、`macOS`、`Linux`
Syncthing 是一个去中心化的文件同步工具,不依赖云存储。它通过网络或互联网在设备之间直接同步仓库。
> [!info]+ Android 支持
> 官方 Syncthing Android 应用已不再维护。但社区分支 [Syncthing-Fork](https://github.com/Catfriend1/syncthing-android) 仍在积极开发中,可用于 Android 设备。
**如何使用 Syncthing 创建和存储仓库**:
1. **设置 Syncthing**:
- 在每台设备上安装 Syncthing。请参阅 [Syncthing 网站](https://syncthing.net/)获取安装指南。
- 在 Android 上,从 GitHub releases 或 F-Droid 安装 [Syncthing-Fork](https://github.com/Catfriend1/syncthing-android)。
2. **创建和配置共享文件夹**:
- 在所有设备上:
1. 打开 Syncthing 并创建共享文件夹。将文件夹路径设为你的 Obsidian 仓库。
2. 确保在所有设备上选择了相同的文件夹。
3. 配置文件夹同步偏好(例如,**发送和接收**用于双向同步)。
3. **在 Obsidian 中打开仓库**:
- 文件夹在设备间同步后,打开 **Obsidian**,进入[[管理仓库|仓库切换器]],选择**打开本地仓库**。
> [!info] 设备可用性
> Syncthing 在至少一台设备始终在线时效果最佳,以确保持续同步。
> [!tip] 最佳实践
> - 对于本地同步,请确保所有设备连接到同一网络。
> - 如果希望每台设备有独立的设置,可将 `.obsidian` 排除在同步之外。
> - 使用忽略模式来避免同步临时文件或备份文件。
## Git
**推荐系统**:`Windows`、`macOS`、`Linux`
**Git** 是一个版本控制系统,可让你跟踪更改、与他人协作,并通过 GitHub、GitLab 等仓库平台或自托管服务器同步仓库。
**如何使用 Git 同步仓库**:
1. **设置远程仓库**:
- 在 Git 托管平台上创建一个仓库(例如 GitHub、GitLab 或自托管服务器)。
2. **同步仓库**:
1. 打开终端或 Git 图形界面工具(例如 GitKraken、Sourcetree)。
2. 使用 `git init` 在仓库文件夹中初始化 Git 仓库。
3. 添加远程仓库:`git remote add origin [URL]`。
4. 提交更改:`git add .` 和 `git commit -m "你的提交信息"`。
5. 推送更改:`git push origin main`。
3. **在其他设备上拉取更改**:
- 在另一台设备上克隆仓库,并使用 `git pull origin main` 拉取更改。
> [!info] 需要手动同步
> Git 提供了强大的版本控制功能,但同步不是自动的。你需要手动推送和拉取更改。
## iPhone 和 iPad 同步
**推荐选项**:
- [[Obsidian 官方同步简介|Obsidian Sync]]
- [[#iCloud]]
> [!info] 避免混用同步服务
> 避免对同一仓库使用多个同步服务(例如同时使用 Obsidian Sync 和 iCloud),以防止数据冲突或损坏。
**不支持的选项**:
以下服务在 iOS 上不受官方支持,但用户已找到使用第三方工具或插件的变通方法:
- Dropbox
- Google Drive
- OneDrive
- Syncthing
一些用户已成功使用 **Remotely Save** 或 **LiveSync** 等插件在 iOS 上同步仓库。但这些方法不受官方支持,效果可能因人而异。
### Working Copy
**推荐系统**:`iOS`
**需要**:[[#Git]]
**Working Copy** 是一款适用于 iOS 的 Git 客户端,可让你克隆、提交和推送更改到 Git 仓库。它非常适合通过 Git 同步 Obsidian 仓库,但部分功能需要付费应用内购买。
**如何使用 Working Copy 同步仓库**:
1. **安装 Working Copy**:
- 在 iPhone 或 iPad 上下载 **[Working Copy](https://apps.apple.com/us/app/working-copy-git-client/id896694807)** 应用。
2. **克隆 Git 仓库**:
- 打开 Working Copy,点击**添加仓库**,输入仓库 URL(例如 GitHub、GitLab)。
3. **将仓库链接到 Obsidian**:
- 将克隆的仓库文件夹链接到 **Obsidian** 中的一个空仓库。
4. **提交和推送更改**:
- 在 Obsidian 中编辑笔记后,使用 Working Copy **提交**和**推送**更改到远程仓库。
- 在其他设备上,使用 Git 拉取更改以同步仓库。
> [!info] 社区使用
> 虽然 Working Copy 不受官方支持,但许多用户已成功使用它通过 Git 同步仓库。
## 常见问题
**为什么我常用的同步服务不受官方支持?**
与某些一次只访问一个文件的笔记应用不同,Obsidian 的功能需要访问整个仓库(例如,重命名文件时更新链接)。这使得某些服务难以与 Obsidian 可靠配合。
**为什么需要将文件保持"离线可用"?**
如果 OneDrive 或 iCloud 等服务卸载了文件(例如使用**文件按需**或**优化 Mac 储存空间**),Obsidian 将无法访问这些文件,从而导致同步问题。请将仓库文件夹标记为**始终保留在此设备上**(OneDrive),或确保启用了**保持下载**(iCloud)。
**如何管理仓库的不同配置?**
Obsidian 允许你使用[[设置文件夹|设置文件夹]]功能为每台设备自定义配置文件夹。