笔记本同步¶
由于笔记本就是一个装着纯文件的普通目录,你可以用不止一种方式在多台机器之间保持它同步。VNote 为捆绑笔记本提供了内置的 Git 同步;而且因为一切都是纯文本,你同样可以依赖任何你早已信任的文件夹同步服务。无论哪种方式,你都始终完全掌控自己的数据。这一理念背后的思考参见为什么选择 VNote。
内置 Git 同步¶
捆绑笔记本可以通过 Git 自我同步,无需离开 VNote。VNote 会为你处理克隆、提交、拉取和推送,并按笔记本存储远端凭据。
在新建笔记本时启用同步¶
在新建笔记本对话框(捆绑类型)中,将同步方式(Sync method)设为 Git,然后点击配置...(Configure...)在创建笔记本之前填写远端信息:
- 远端 URL(Remote URL)——一个 HTTPS 的 git 地址(例如
https://github.com/user/repo.git)或file://路径。 - 个人访问令牌(Personal Access Token,PAT)——用于向远端进行身份验证。对于 GitHub,这是一个具有
repo权限范围的令牌。
从远端克隆现有笔记本¶
要接入一个已经存在于远端的笔记本,使用打开笔记本(Open Notebook)并选择远端 URL(Remote URL):
- 输入远端 URL,并可选填个人访问令牌。留空 PAT 则打开笔记本但暂不同步。
- 选择一个本地根文件夹用于克隆(该文件夹必须尚不存在,或为空)。
- VNote 克隆该仓库并将其作为笔记本打开。
边写作边同步¶
每个捆绑笔记本会在笔记本标题栏显示一个同步(Sync)按钮:
- 点击立即同步(Sync Now)即可立刻同步。
- 同步信息(Sync Info)菜单项会打开一个对话框,你可以在其中查看同步状态、添加或更新个人访问令牌,以及重新配置远端。
你也可以在设置 → 同步中启用自动同步。自动同步间隔(Auto-sync interval)控制后台同步的最短触发周期(设为 0 / 立即 则在每次更改时同步)。
解决冲突¶
如果同一个文件在两台机器上都发生了更改,VNote 会打开解决同步冲突(Resolve Sync Conflicts)对话框,列出受影响的文件,让你逐一选择如何解决。简单的情况会自动协调;只有在确实需要你决定时,对话框才会出现。
文件夹同步服务¶
如果你不想使用 Git——或者你同步的是原始笔记本——可以改用文件夹同步服务。捆绑笔记本完全包含在它的笔记本根文件夹中:笔记、图片、附件和它的索引全都在其中。原始笔记本就只是那个文件夹本身;VNote 会把该笔记本的元数据和缓存保存在应用数据文件夹中,因此同步该文件夹能把你的文件带过去,而每台机器各自保留对该笔记本的记录。无论哪种情况,你同步的都是这个文件夹。
一般模式如下:
- 把笔记本根文件夹放进由同步工具管理的目录中。
- 在每台电脑上,把该文件夹打开为笔记本(参见导入与迁移)。
- 照常编辑;同步工具会在机器之间传播文件改动。
Dropbox、OneDrive、Nextcloud、Google Drive 等服务,或任何文件夹同步工具,都能很好地工作。在每台机器上把笔记本放在被同步的目录中,让服务去搬运文件。
编辑前让同步先完成
切换机器时,先给同步客户端一点时间完成下载,再开始编辑。在改动同步完成之前,同时在两台机器上编辑同一个笔记本,正是导致冲突的原因。
避免与解决冲突¶
- 会话前后都同步。 开始前确保笔记本是最新的,离开前让改动上传完成。
- 不要在两台机器上同时编辑同一篇笔记。 当同一个文件在同步前于两处被改动,就会发生冲突。
- 若使用文件夹同步服务时发生冲突, 它通常会保留两个版本(例如一个「冲突副本」文件)。在 VNote 中打开两者,手动合并内容,然后删除多余的文件。使用内置 Git 同步时,改用解决同步冲突对话框即可。
哪些内容会被同步¶
笔记本根文件夹之下的一切都应当一起同步,其中包括捆绑笔记本的索引和配置。应用级别的设置单独保存在 VNote 的配置文件夹中,不属于任何笔记本——只有当你也想在机器间携带应用设置时,才需要同步它们。