思源笔记能否支持单个文档的历史记录回溯?

本贴最后更新于 1083 天前,其中的信息可能已经沧海桑田

我有好几次发现某些文档在多设备同步过程中,内容都被冲掉了。不知道作者针对同一个文档,有没有严格按照时间戳在多设备之间同步内容?

然后我要去找这个文档在 30 天内的历史记录,就非常非常麻烦,每次去工作空间目录下,耗费了好大的劲才把内容恢复回来。

两个设备在同时打开一个文档进行编辑时,其中一个设备应该提示云端有增量内容,先强制 pull 后,才能修改。就和 git pull -> git commit -> git push 的原理一样,永远按照同一条时间线前进,如果有冲突,该 merge 就提示 merge。不应该存在这种情况:云端明明有较新的内容,本地还没来得及同步下来,就直接 push 上去了,那较新的内容肯定被冲掉了。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    26316 引用 • 109407 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 有的,看帮助文件和你说的差不多的。

    历史记录回溯在顶部菜单数据历史里

    数据同步

    概述

    数据同步指的是在多个设备上保持 工作空间/data/ 文件夹数据一致,包括资源文件、模板、挂件以及笔记本数据。

    使用方式

    初始化数据仓库密钥1后如果一切正常就已经配置好同步了。

    • 如果需要暂停同步,可关闭选项 设置 - 云端 - 启用云端同步
    • 忽略文件2

    工作原理

    思源通过对比云端数据快照和本地数据快照进行相应操作:

    • 如果快照相同则忽略本次同步

    • 如果快照不同,则将本地距离上次同步的变更上传到云端,将云端最新的变更合并到本地

      • 如果两端的变更没有冲突则直接合并
      • 如果存在文件冲突,则以本地为准覆盖云端,同时拉取到的云端冲突文件会归入到数据历史中

    同步每隔一段时间自动进行,时间间隔算法描述如下:

    • 数据变动后 30 秒如果不再发生变动则进行一次对比,如果继续发生变动则顺延 30 秒
    • 没有数据变动则按 5 分钟、8 分钟、16 分钟、32 分钟……递增间隔

    场景例举

    从上述工作原理我们可以得知,思源仅支持在多设备上交替同步数据:设备 A 上同步完成以后设备 B 上再进行同步。无法支持多设备同时同步,这样会发生无法预期的数据覆盖。

    正常场景

    1. 在设备 A 上编辑后执行同步(通过自动或者手动触发同步),此时云端数据会被设备 A 数据覆盖,既云端和设备 A 保持数据一致
    2. 在设备 B 上执行同步,此时设备 B 数据会被云端数据覆盖,即云端和设备 A、B 保持数据一致
    3. 设备 B 上编辑后再次执行同步,此时云端数据会被设备 B 数据覆盖,既云端和设备 B 保持数据一致
    4. 在设备 A 上执行同步,此时设备 A 数据会被云端数据覆盖,即云端和设备 A、B 保持数据一致

    该场景下,使用同步的过程是在设备 A、B 上交替进行的,这样能够保证数据同步符合预期正常完成。

    冲突场景

    1. 在设备 A 上编辑 a 文件后同步
    2. 在设备 B 上编辑 a 文件后同步
    3. 此时云端 a 文件会被 B 设备上的 a 覆盖,同时在 B 设备上生成之前 A 设备 a 的历史

    #注意#

    • 睡眠或关机等突然断网的情况下不会触发同步,请手动点击同步按钮进行同步
    • 请勿同时使用第三方同步盘和思源同步,可能会导致数据损坏
    • 符号链接不会被同步

    1. 初始化密钥

      第一次使用数据快照前需要在 设置 - 关于 中初始化 数据仓库密钥

      如果你有多台设备,仅需在其中一台设备上 生成密钥,然后拷贝该密钥字符串到其他设备上,通过 导入密钥 进行导入。切勿在多台设备上重复初始化密钥,否则数据快照将无法跨设备使用,比如无法通过云端同步数据快照。

    2. 忽略文件

      如果需要在创建快照时忽略一些文件,请在文件系统上创建或编辑文本文件 工作空间/data/.siyuan/syncignore, 其中每一行使用 data 文件夹的相对路径进行配置,表示忽略文件或文件夹的路径,支持通配符。例如:

      • 20210808180117-6v0mkxr/**/*: 忽略 data/20210808180117-6v0mkxr 笔记本
      • assets/*.pdf:忽略 data/assets/ 下的 PDF 文件
    2 回复
  • jearton10 via macOS

    你好像没有理解我的意思,我想在一个文档的右键菜单里集成历史记录查询,只看这一个文档的历史记录。

    现在的数据历史弹框里,是按时间线维度看的,看的是一个笔记本下所有文档的改动,我还要一个个点开看有没有包含我要查看的文档,很不方便。

    我就想要看一个文档的历史改动记录。

  • jearton10 via macOS

    你好像没有理解我的意思,我想在一个文档的右键菜单里集成历史记录查询,只看这一个文档的历史记录。

    现在的数据历史弹框里,是按时间线维度看的,看的是一个笔记本下所有文档的改动,我还要一个个点开看有没有包含我要查看的文档,很不方便。

    我就想要看一个文档的历史改动记录。

推荐标签 标签

  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    24 引用 • 246 回帖 • 1 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 368 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖
  • 996
    13 引用 • 200 回帖
  • Excel
    31 引用 • 28 回帖 • 1 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    554 引用 • 675 回帖
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 84 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    85 引用 • 324 回帖 • 1 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    336 引用 • 324 回帖 • 2 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 111 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 445 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 394 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 642 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • Anytype
    3 引用 • 31 回帖 • 28 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 265 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    59 引用 • 22 回帖 • 6 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 682 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 9 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 735 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 2 关注
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 546 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 522 关注