本文约莫1620字,需要约9分钟读完。

Obsidian笔记的多端同步问题一直都是一个备受关注的问题。除了官方提供的同步插件,还有许多人基于各种各样的思路提出了不同的同步方案。然而所有的同步方案几乎都无法同时满足免费、易用、体验好这三个要求,于是这成了Obsidian同步的不可能三角。

Git作为一款成熟的分布式开源版本控制工具,本身就具有同步以及版本控制等功能。只需要一定的配置,Git就能实现免费且体验好的同步功能。权衡之下,我认为付出一定的时间进行一次配置来换取免费好用的同步服务是最为划算的。而且除了同步之外,Git还能同时实现版本管理、多人协作、笔记备份等功能,配置Git同步绝对是一笔一本万利的买卖,很值得我们入手。

下面的部分我会讲解如何在Android手机与PC之间实现同步,类似的原理可以推广开来,实现笔记在任意多个设备之间同步。

PC端配置

配置Git

PC端配置Git首先需要下载Git(官网https://git-scm.com/downloads)。以Windows为例,图中任意版本的Git均可,但是我比较推荐下载压缩包版本(Portable)。因为这样我们可以保证Git的所有依赖文件都在压缩包内,很方便管理以及迁移。

由于特殊的网络环境,在官网下载Git可能有些困难。如果你没有能力解决这个问题,可以在关注公众号后在后台回复「git」获取。

下载解压之后,其目录如下:

如果你没有使用过Git,你需要先完成初始化。点开Git-bash输入下面的命令配置相关信息:

git config --global user.name 
"你的名字"
git config --global user.email 
"你的邮箱@example.com"

这里的user.nameuser.email只是一个身份标识,不一定要真实有效的邮箱和用户名。

配置插件

在Obsidian插件市场搜索Git,下载Git插件,在Custom Git Binary Path这里填上git.exe的路径。git.exe位于解压后文件夹的bin目录下。

配置完毕后,如果没有报错就说明可以使用了。

配置仓库

Obsidian在一个文件夹中存放所有笔记,这个文件夹称之为仓库(vault);Git管理的对象也是文件夹,这个文件夹也称作仓库(repository)。要实现同步,我们需要配置本地的仓库和云端的仓库,然后让Git在仓库之间同步。

本地仓库

在Obsidian中打开命令行,搜索初始化仓库的命令:

这样本地仓库就配置好了。此时你如果希望只同步笔记内容,不同步设置、插件以及主题等内容的话你就需要要求Git不同步仓库根目录上的.obsidian文件夹。搜索命令Git: Edit .gitignore,在里面加上一行.obsidian即可。

远程仓库

远程仓库是同步笔记的中转站,也是云端备份。最著名的Git远程仓库平台是Github,但是由于网络问题,我建议用Gitee来作为我们的远程仓库托管平台。在Gitee上可以免费创建仓库,但是有一定容量限制,因此我建议不要笔记库中存放PDF、视频之类的文件。

点击右上角+号创建仓库:

注意不要选择开源仓库,这样会导致笔记内容被他人看见。之后复制其HTTPS链接,在命令Git: Edit remote中创建一个名为origin的远程仓库地址,将复制的链接填写进去。

在Gitee设置中生成一个私人令牌,这将是我们访问这一仓库的密码。至少保留图中显示的权限:

在Obsidian中执行命令Git: Open source control view,就可以看见Git命令面板了。 

选择上传键push,就可以上传本地笔记到云端了;选择下载pull则可以同步云端的修改到本地。

所有需要同步的PC都需要进行这样的配置,配置完毕之后就可以进行手动同步了。如果你希望使用自动同步,可以在插件设置中设置。

Android端配置

手机端Obsidian Git插件本身内置了git,但是极度不稳定。我建议使用Git Sync这个app来代替Obsidian Git插件

Git Sync的配置比PC端Git要简单许多,只需要跟随指引选择文件夹、配置仓库、填写用户名和私人令牌即可。

Git Sync也可以同时支持自动同步和手动同步,建议自己根据需求选择。进行第一次同步之后,就实现PC与手机同步了:

[!tip] Android平板也可以利用类似的方法实现同步。

结语

本文介绍了使用Git实现Obsidian笔记同步的方法。对于没有接触过Git的用户来说,配置Git稍显复杂,但是配置一次之后就可以一劳永逸地实现免费的多端同步。相比起Obsidian官方同步4美元(约莫28元人民币)一个月的昂贵价格,付出一定的精力去配置Git还是很划算的。

相比之下,Gitee免费版允许最多1000个仓库、单仓库500MB存储、单个文件最大50MB。

此外,由于Git属于分布式管理系统,在云端以及每个同步设备上都会有备份;而且作为一个版本控制系统其还会存储至少3个过往版本历史。因此配置好Git同步的同时就相当于做好了笔记备份。因此Git同步可以说在各方面都性价比极高。

我是 @西郊次生林 ,一个研究生,持续分享知识管理技巧/科研工具/效率工具,欢迎关注我的公众号「西郊次生林」。