hellokunzai431 downloadsSync your vault to a Gitee or GitHub repository.
一款为 Obsidian 打造的笔记同步插件:无需在电脑上安装 Git,直接把你的笔记仓库同步到 Gitee / GitHub / GitLab / Gitea。
English · 简体中文
git 命令行。.gitignore,支持标准 gitignore 语法。兼容移动端(
manifest已声明isDesktopOnly: false)。注意:令牌钥匙串依赖 Obsidian 1.11.4+ 的 SecretStorage;低于该版本时令牌会作为兜底写入data.json(仍以明文存储,请务必为仓库设置私有 + 排除日志)。
BRAT: Add a beta plugin。hellokunzai/obsidian-gitee-sync-plus。main.js、manifest.json、styles.css 三个文件。<你的 vault>/.obsidian/plugins/gitee-sync-plus/ 目录(没有就新建)。打开 设置 → Gitee Sync Plus:
projects 权限。repo 权限。api(或 read_repository + write_repository)权限。master,其余默认 main)。https://gitlab.com、https://gitea.com)。配置完成后,点击状态栏的同步状态、左侧 ribbon 的同步按钮,或命令面板的 Sync now 即可开始同步。
| 入口 | 说明 |
|---|---|
| 状态栏 | 显示同步状态,点击即触发一次同步 |
| 左侧 ribbon 同步按钮 | 快速同步(可在设置中关闭) |
| 左侧 ribbon Git 面板按钮 | 打开右侧 Git 面板(默认关闭) |
命令面板:Sync now |
立即同步 |
命令面板:Preview sync plan |
预览本次同步计划(不执行,结果写入诊断笔记) |
命令面板:Open Git panel |
打开 Git 面板 |
命令面板:Reset sync state (current repository) |
仅清空「当前仓库」的基线,下次同步当作全新目标全量上传(其他仓库基线保留) |
通过 ribbon 按钮或命令打开右侧 Git 面板,它像 IDE 的源代码管理侧栏一样工作:
当某个文件自上次同步以来两端都发生了修改,同步拉取时会弹出冲突解决窗口:
非交互式同步(如按钮、启动、定时)会根据「合并方式」设置自动裁决,无需手动介入。
差异对比视图内同样支持:并排 / 纵向布局切换、折叠未变更片段、按区块「还原 / 采纳本地 / 采纳远端」、「标记为已同步」(把该文件从本次待处理中移出,视为已一致)。
所有过滤逻辑统一由 vault 根目录的 .gitignore 控制(标准 gitignore 语法)。
在设置 → 排除目录 中编辑规则,失去焦点即保存,下次同步生效。
建议至少把以下内容排除,避免把插件自身状态与日志在设备间传来传去:
# 插件诊断日志(已记录同步计划与结果,不应参与同步)
_gitee-sync-plus-log.md
# 其它不应同步的内容(示例)
# .obsidian/
# Templates/
secretStorage),data.json 中只保留密钥名、不保留明文值;打开设置页时会自动把旧版明文令牌迁移进钥匙串。_gitee-sync-plus-log.md 含同步明细,已在上述 .gitignore 示例中排除。| 现象 | 排查方向 |
|---|---|
| GitLab 能「测试成功」但同步失败 | 仓库非空时,令牌可能只缺 read_repository/api 读取权限(GET /projects/:id 仅需 read_api,但同步读内容需要更高权限)。请为令牌勾选 api(或 read_repository + write_repository)。 |
| GitLab 提示分支受保护 / 写不进去 | 目标分支受保护且当前令牌角色无权推送。用 Maintainer 角色重新生成令牌,或在项目 设置 → 仓库 → 受保护分支 中允许 Developers 推送。 |
| 远端文件树被截断 | 远端文件过多导致清单被截断,插件会中止同步以防误删。请通过 .gitignore 缩小同步范围。 |
| 只差换行符的文件被反复判定为变更 | 插件以 LF 归一化哈希比较内容,仅换行符差异会被忽略;若仍频繁触发,多为真实内容差异。 |
| 调试日志没有产生 | 确认已在「高级」中开启「调试日志」,且日志文件未被 .gitignore 排除而无法落盘。 |
本插件由社区插件 Gitee Sync 派生而来,并重写了同步引擎:将所有过滤条件统一收敛至 .gitignore 机制,同时支持 Gitee 与 GitHub 双平台(并已扩展至 GitLab、Gitea),且不再依赖本机 Git。