知识空间共享与同步
把一个知识空间通过 git 远端(GitHub / Gitee / 自建 GitLab)在多台设备、多个成员之间同步——每个人各自记录、KnowMe 自动帮你拉取和推送,改动在 git 里留痕可回溯。适合「团队共享一份知识库」「自己多台电脑同步笔记」。
先理解它是什么、不是什么
这是 基于 git 的文件同步,不是 Google Docs 那样的实时协作。
- ✅ 大家改不同文件 / 同一文件的不同部分 → 自动合并,谁的都不丢。
- ⚠️ 两人同时改同一处 → git 无法自动判断,按「后同步者覆盖先同步者」处理(或存成冲突副本)。
- 所以它的正确用法是「各自负责各自的部分、异步协作」,而不是「多人同时编辑同一段」。详见下方 并发编辑的注意事项。

它能做什么
- 多设备同步:同一份知识库在你的多台电脑之间保持一致。
- 团队共享:把某个挂载目录设为共享空间,团队成员各自 clone、各自编辑,自动互相同步。
- 自动合并:改不同文件时无需手动处理,KnowMe 后台自动
pull+push。 - git 底座:所有历史都在 git 里,可用任意 git 工具回溯、找回任意版本。
- 明文存储、非端到端加密:内容以明文存于你配置的 git 远端,成员与 git 平台管理员均可见。权限、成员增删由 git 平台(GitHub/Gitee/GitLab)管理,KnowMe 本身不存任何 git 凭据。
开启同步
- 打开 设置 → 同步。
- 选择要同步的目录(主目录,或任意已挂载的外部目录),点「设置同步」,填入一个 git 远端地址(如
git@github.com:you/notes.git)。 - 开启后,KnowMe 会自动把该目录初始化为 git 仓库并推送到远端。
第一次接触 git / GitHub?
同步用的是你本机的 git 和 SSH 凭据(KnowMe 不存储任何 git 账号密码),需要先在本机配好。从零到跑通的完整新手向图文步骤——装 git、配身份、生成 SSH key、加公钥到 GitHub、建空仓库——见 Git 同步环境准备(GitHub 新手向)(附 Gitee / 自建 GitLab 差异说明)。

同步间隔可在设置页顶部调整:手动 / 1 / 5 / 15 / 30 分钟(默认 5 分钟)。
什么时候会自动同步
开启后,以下三个时机会自动跑一轮同步(fetch → 提交本地改动 → pull 合并 → push):
| 时机 | 行为 |
|---|---|
| 定时轮询 | 按你设的间隔(默认 5 分钟)自动同步一次 |
| 切回窗口 | 你从别的应用切回 KnowMe 时,自动拉取一次队友的最新改动(30 秒节流) |
| 编辑后 | 你改完文件停手后,自动把你的改动推送出去 |
也可以在同步行点「立即同步」手动触发。
怎么知道哪些文档有更新
同步拉回了队友的新内容,怎么一眼看到?看文件列表里文档名右侧的状态标记:
- 实心圆点 + 主题色文件名 = 这是新出现的文档,你还没打开过。
- 空心圆点 = 你读过的文档有了新内容。
打开文档即视为已读,圆点自动消失。队友推了新东西进来,列表里扫一眼就知道该看谁。

团队共享:发起共享空间
- 在设置 → 同步给某个挂载目录开启同步时,勾选「这是共享空间(团队可见)」(已开启同步的目录也可以在设置里补上勾选)。
- 该空间会显示 👥 标记,并出现「邀请成员」入口——它负责把仓库地址发给队友。
- 关键的一步在 git 平台:把队友加为该仓库的成员(GitHub Collaborator / GitLab Developer 及以上),他们才有推送权限。KnowMe 的邀请只是把地址发给对方,不授予任何权限——权限完全由 git 平台管理。 具体操作见 Git 同步环境准备 的「邀请队友」一节。
- 队友侧:在他自己的电脑上配好 git 认证,然后打开 设置 → 同步 →「加入共享空间」,粘贴空间地址(或直接点你分享的文档链接,按提示加入),目录即会拉取到本地开始同步。


队友那一侧也要配好 git 凭据
KnowMe 用你本机的 git 身份推送,且不会弹凭据框。所以队友需要在他自己的电脑上配好对该 git 平台的认证(SSH key 或 credential helper 里的 token),否则同步会直接报「认证失败」。
分享单篇文档:复制链接
想把某一篇文档发给同事?在已同步的文件上右键 → 复制链接(未同步的文件没有这项),会复制一段:
空间名/子目录/文件名(在 KnowMe 中打开)
https://…/open/#…把它粘到微信 / 飞书发给同事。对方点开:
- 已加入该共享空间 → 直接在他的 KnowMe 里打开那篇文档。
- 未加入 → 引导他先加入该共享空间(加入后再次点击链接即可打开)。
- 未安装 KnowMe → 引导下载。

冲突怎么处理
当两人改了同一个文件的同一处、无法自动合并时,KnowMe 不会在文件里留 <<<<<<< 之类的冲突标记(那会污染笔记、还会被再次同步出去)。冲突文件会在文件列表里标上**「需解决」角标**,你有两条应用内的处理路径,全程不用开终端敲 git:
内联对比解决(推荐,适用于笔记冲突)
对于普通的笔记冲突(.md / .html),点开冲突文件会进入 Cursor / VSCode 风格的逐文件内联 diff 界面:
- 每一处冲突并排显示本地与对端两个版本。
- 逐块选择保留本地 / 保留对端 / 两者都保留,像 review 代码一样点选。
- 全部解决后一键保存,KnowMe 自动提交并推送;底部会提示「还有 N 处冲突待解决」,直到全部收敛。
解决结果是干净内容,不残留任何冲突标记。
冲突副本(另一条无损路径)
也可以选择一键把两个版本都保留下来:
- 主文件保留其中一方的完整版本(保持干净可读)。
- 另一方的版本存成一个并排的冲突副本文件(文件名带「冲突副本 · 设备名」)。
- 两个都是正常文档,你可以对照着手动合并,然后删掉副本。
无论走哪条路径,任何一方的内容都不会丢。
并发编辑的注意事项
这是使用共享空间最需要注意的一点。git 只在「两人改同一行」时报冲突;其它情况它会自动合并——但自动合并 不等于 语义正确:
- 你加了一行、队友(基于旧版本)删了那一行 → git 认为「一加一删,无矛盾」,自动合并时可能按后同步者为准,先同步者的改动被覆盖。
- 根因往往是队友「开始编辑时用的是旧版本」——他打开文档后没再拉取,编辑期间你推了新版,他基于旧内容改完再推,就把你的覆盖了。
实用建议(在没有实时协作前,靠习惯规避):
- 各自负责各自的文件 / 章节,尽量不要多人同时改同一处。
- 编辑前先确保是最新:切回 KnowMe 窗口会自动拉取一次;重要编辑前可点「立即同步」。
- 需要严肃协作时,沿用 git 的分工习惯(谁改哪块提前约定)。
- 万一被覆盖,内容仍在 git 历史里,可用 git 工具找回任意历史版本。
路线图
应用内冲突解决(内联 diff + 冲突副本)已 ship。更强的「编辑前提示远端已有新版」「实时协作」仍在规划中。当前版本请按上面的异步协作习惯使用。
常见问题
为什么只有我能同步,队友不行? 几乎都是 git 平台权限或凭据问题,与 KnowMe 无关:① 队友在 git 平台没有该仓库的写权限(如只是 Reporter/只读,或根本没被加为成员);② 队友本机没配好 git 凭据。解决:在 git 平台把他加为 Developer/Collaborator(写权限),并让他在自己电脑配好 SSH key 或 token。
KnowMe 会保存我的 git 账号密码吗? 不会。KnowMe 只是在本地调用系统 git 推送/拉取,不存储任何 git 凭据,认证完全走你本机的 git 配置。
支持哪些 git 平台? 任何标准 git 远端(GitHub、Gitee、自建 GitLab 等)。「复制网页链接」类功能对 GitHub / Gitee 支持最好。