你可以在仓库中使用[符号链接](https://zh.wikipedia.org/wiki/%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5)或者说[软链接](https://learn.microsoft.com/en-us/windows/win32/fileio/hard-links-and-junctions#junctions)来存储位于仓库之外以及[[设置文件夹]]中的文件。
> [! Danger] 请谨慎使用
> 我们强烈建议不要使用符号链接。在仓库中使用符号链接,可能会面临数据丢失、损坏或 Obsidian 崩溃的风险。因此在使用前请确保定期备份仓库及其设置。
以下是我们已经发现的一些限制或问题,你可能需要牢记:
- 禁止符号链接循环,以防止由于无限循环导致 Obsidian 崩溃。
- 符号链接的目标必须与仓库根目录或任何其他符号链接目标完全不相交。完全不相交意味着一个文件夹不包含另一个文件夹,反之亦然。Obsidian 会忽略任何指向仓库父文件夹的符号链接,或者从仓库中的一个文件夹指向另一个文件夹的符号链接。这是为了确保仓库中不会出现重复文件,从而导致链接变得模糊不清。
- 符号链接可能与 Obsidian 同步或_任何其他同步服务_不兼容。如果符号链接的目标是另一个被不同 Obsidian 仓库同步的文件夹,你可能会遇到同步冲突或数据丢失的问题。一些同步工具,比如 Git,则不会跟踪符号链接,这可能会导致不良结果,特别是在通过这种方式与其他人共享仓库的情况下。
- Obsidian 的文件列表无法跨设备边界移动文件,因此,如果你通过符号链接链接到一个和仓库不在同一个驱动器上的文件夹,你将无法使用 Obsidian 的文件列表在该文件夹和其他文件夹之间拖动文件。你需要使用操作系统的资源管理器进行这些移动操作,而 Obsidian 将把这些操作视为删除和创建文件。它也**不会** 更新与该文件路径相关的任何链接。
- 文件符号链接(而非文件夹符号链接)_可能_ 能正常使用,但我们目前并没有对此进行支持,因此在 Obsidian 之外执行的文件更改不会被检测。如果您直接更改文件,Obsidian 将无法检测到更改,也无法更新搜索索引。
- 有的用户通过符号链接链接起不同仓库的 `.obsidian/` 文件夹,以实现仓库设置的共享。但需要注意,这**有很可能会损坏设置**,除非你真的非常了解这方面的操作。但还是提醒一句,如果真决定这样做,请备份一下仓库。