基于 Git 的 Obsidian 笔记同步

Obsidian 笔记同步:Git 插件 + Android Mgit

一、总体同步逻辑

  • PC 端:通过 Obsidian Git 插件,实现自动拉取与推送,完成与远程仓库(Gitee/GitHub)的同步。
  • Android 端:使用 Mgit 客户端手动拉取与推送,满足临时阅览需求。
  • 远程仓库:统一使用 Git 托管平台(推荐 Gitee 国内访问快,或 GitHub)。

注:本文作者的手机以临时阅览 为主,不用于生产编辑

APK安装包分享: https://pan.baidu.com/s/13q7qFQkhdOVtnDus0N3ppg?from=init\&pwd=w8by


二、PC 端:Obsidian Git 插件配置

该插件需要在本地已安装 Git 环境。

1. 创建远程仓库

  • 使用 Gitee(国内推荐)或 GitHub 新建一个仓库。
  • 获取仓库的 SSH 地址(推荐)或 HTTPS 地址。

2. 初始化本地仓库并关联远程

  • 在 PC 上打开你的 Obsidian 笔记主目录。

  • 使用命令行或 Git 客户端:

    bash 复制代码
    git init
    git remote add origin 你的远程仓库SSH地址
    git add .
    git commit -m "初始化笔记库"
    git push -u origin main

3. 安装 Obsidian Git 插件

  • 在 Obsidian 中,进入 设置 → 第三方插件 → 社区插件,搜索 Obsidian Git 并安装启用。

4. 配置自动同步(关键)

在插件设置中,建议配置以下选项:

设置项 推荐值 说明
Auto pull interval 5 分钟 自动拉取远程变更
Auto push interval 5 或 10 分钟 自动推送本地提交
Pull on startup 开启 启动 Obsidian 时自动拉取
Commit message 按需自定义 推荐包含时间戳
Vault directory 你的笔记根目录 默认正确即可

✅ 多个平台(多台电脑)同样安装插件并配置相同间隔,即可实现多端自动同步


三、Android 端:使用 Mgit 实现手动同步(阅览辅助)

原文参考:https://forum-zh.obsidian.md/t/topic/7152

适用场景:手机端仅阅览,不主动编辑。

前提准备

  • 安装两个 App:
    • Mgit(Git 客户端)
    • Obsidian(Android 版)

1. 修改 Mgit 仓库存储路径(重要)

Mgit 默认仓库路径位于应用私有目录,不方便 Obsidian 直接读取。需要改为公共目录。

  • 打开 Mgit → 右上角三个点 → 设置通用Repos 的根存储位置
  • 修改为:/storage/emulated/0/Documents

参考 Issue:无法添加新仓库等问题

⚠️ 若仓库已存在于默认位置,需手动移动。

2. 配置 SSH 密钥(私有仓库同步需配置)

注意:如果仓库是私有仓库,需要配置SSH公钥

  • Mgit → 设置安全SSH Keys → 右上角 +
    • 文件名:任意,如 obsidian_android
    • 类型:4096 RSA
    • 生成密钥
  • 复制生成的公钥内容
  • 登录 Gitee → 设置 → 安全设置 → SSH 公钥 → 粘贴 → 确定
    访问 https://gitee.com/profile/sshkeys 即可进入下图界面

3. Clone 远程仓库到手机

  • 在 Gitee 仓库页面 → 黄色按钮 克隆/下载SSH → 复制地址
  • Mgit 主界面 → 右上角 +克隆远程仓库 → 粘贴地址 → 克隆

4. 用 Obsidian 打开该仓库

  • 打开 Obsidian → 打开文件夹作为仓库
  • 定位到:/storage/emulated/0/Documents/你的仓库名
  • 确认使用该文件夹

5. 日常编辑与同步

操作 方法
拉取 打开 Mgit → 对应仓库 → 右上角菜单 → 拉取
推送 (如需编辑)编辑完成后,在 Mgit 中 commit 并 push
阅览 直接打开 Obsidian 查看最新内容(需先拉取)

💡 如果手机仅阅览,可以只拉取,不推送。


四、PC 端:如果不想用 Obsidian Git 插件,可以参考下面的方法

1.基本配置

下载仓库:https://gitee.com/on88888/sync_demo

git-auto-push.exe 放到项目根目录下,配置 .env 文件,双击测试同步效果

复制 .env.example 为 .env 并填写真实信息:

sh 复制代码
# Gitee 用户名(必填)
GITEE_USER=your_username
# 仓库名称(必填)
REPO_NAME=your_repo_name
# Gitee 访问令牌(必填)
# 在 https://gitee.com/profile/personal_access_tokens 生成
# 需要勾选 projects 权限
ACCESS_TOKEN=your_access_token_here

比如当前我的项目是 sync_demo,则 git-auto-push.exe 放到 sync_demo 目录下

2.添加任务计划

通过Windows自带的任务计划程序设置定时执行程序

Win + R,输入以下命令:

bash 复制代码
taskschd.msc
# 进入任务计划程序 -> 添加操作 -> 设置触发器 -> 设置计划名称 -> 点击确定
# 设置完,可以右键选择计划点击启动,测试一下有没有日志输出(程序所在目录)
相关推荐
郡杰9 分钟前
Git基础与开发平台搭建
git·后端
钟智强2 小时前
我警告了 329 天
git·php·wordpress·webshell
乐观的冷风4 小时前
我们需要将文件添加到暂存区才能提交,而移除文件后是无法添加到暂存区的,那么怎么移除一个文件让GIT不再将其纳入版本控制呢?上图中GIT已经给出了说明:
git
liuyicenysabel4 小时前
多服务上线日记二:
服务器·笔记·学习
辰海Coding4 小时前
MiniSpring框架学习笔记-动态代理:如何在运行时插入逻辑?
java·笔记·学习·spring·动态代理
凉、介5 小时前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
tjl521314_215 小时前
Git SSH Host Key Verification Failed 问题排查与解决
运维·git·ssh
cmes_love6 小时前
如何下载沪深股票市场的行情数据,包括委托、成交、订单薄、沪深股票、etf、可转债、指数五档订单薄数据,买一到买五、卖一到卖五历史行情数据笔记
大数据·笔记
摇滚侠6 小时前
Apache Skywalking 实战 阅读笔记 第二章
笔记·apache·skywalking