一、Obsidian是什么?

在这里插入图片描述
Obsidian 是一款基于 Markdown 的本地知识库工具,以"第二大脑"为核心理念。与传统笔记软件不同,Obsidian 具有以下独特优势:

  • 本地优先:所有数据存储在本地,无需担心网络问题或服务商倒闭
  • 双向链接:通过 [[笔记名]] 建立知识关联,形成网状知识结构
  • 图谱视图:可视化展示笔记间的关联关系
  • 高度可定制:丰富的插件生态,可按需扩展功能
  • 纯文本存储:使用 Markdown 格式,具有极佳的迁移性和兼容性
    💡 适用场景:个人知识管理、学术研究、项目管理、技术文档整理、日记写作等。

虽然 Obsidian 强调本地存储,但单一设备存在风险:

  • 硬件故障:硬盘损坏可能导致多年心血付之东流
  • 误操作:误删文件或错误修改难以找回
  • 多设备协作:需要在不同设备间同步笔记
    Git 作为分布式版本控制系统,能完美解决这些问题:
  • 完整的历史版本回溯
  • 增量备份,节省空间
  • 分支管理,安全实验新想法

二、整体架构设计

2.1 系统架构图

在这里插入图片描述

2.2 工作流程时序图

在这里插入图片描述

2.3 技术选型说明(Gitee + GitHub)

  • Gitee 作为主备份:国内访问速度快,适合频繁同步
  • GitHub 作为次备份:全球可用,作为灾难恢复的保险
  • Pushurl 机制:一次 push 命令,自动推送到多个远程,无需手动切换

三、环境准备

3.1 安装 Obsidian

  1. 访问 Obsidian 官网(https://obsidian.md/) 下载对应系统版本
  2. 安装并创建新的 Vault(仓库)3
  3. . 建议关闭"安全模式"以安装社区插件

3.2 安装 Git 工具

Windows:

# 下载 Git for Windows 并安装
https://git-scm.com/download/win

MacOS:

# 使用 Homebrew 安装
brew install git

# 或安装 Xcode Command Line Tools
xcode-select --install

Linux:

sudo apt-get install git  # Ubuntu/Debian
sudo yum install git      # CentOS/RHEL

运行以下指令,查看git安装版本

git version

3.3注册代码托管平台

  • Gitee: 访问 gitee.com 注册账号,创建私有仓库(推荐私有保护隐私)
  • GitHub: 访问 github.com 注册账号,创建私有仓库

⚠️ 安全提示:笔记通常包含个人隐私,请务必创建私有仓库。

四、核心配置:Git 多远程推送

这是本方案的核心环节。我们将使用 pushurl 技术实现一次推送、多处备份

4.1 初始化本地仓库

在你的 Obsidian Vault 根目录下打开终端:

# 进入 Vault 目录
cd /path/to/your/obsidian-vault

# 初始化 Git 仓库
git init

# 配置用户信息(重要,会显示在提交历史中)
git config user.name "your_name"  # 你的用户名
git config user.email "your_email@example.com" # 你的邮箱

# 创建 .gitignore 文件,排除不需要同步的文件
cat > .gitignore << EOF
# Obsidian 工作区文件
.obsidian/workspace.json
.obsidian/workspaces.json
.obsidian/plugins/obsidian-git/data.json

# 系统文件
.DS_Store
Thumbs.db

# 临时文件
*.tmp
*.temp
EOF

# 初始提交
git add .
git commit -m "Initial commit: 初始化 Obsidian 笔记仓库"

4.2 使用 pushurl 配置多远程(重点)

关键概念:pushurl 允许为一个远程仓库配置多个推送地址,但只使用一个拉取地址。这样 git push 时会自动推送到所有配置的地址。

# 步骤 1:添加 origin,指向 Gitee(主仓库,用于 fetch)
git remote add origin git@gitee.com:你的用户名/obsidian-notes.git

# 步骤 2:配置 Gitee 的推送地址
git remote set-url --add --push origin git@github.com:你的用户名/obsidian-notes.git

# 步骤 3:添加 GitHub 作为第二个推送地址
git remote set-url --add --push origin git@gitee.com:你的用户名/obsidian-notes.git

4.3 配置SSH登录

4.3.1 生成SSH密钥

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_gitee

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_github

创建或编辑 ~/.ssh/config 文件,添加 Host 别名配置:

touch ~/.ssh/config
chmod 600 ~/.ssh/config


# GitHub 配置
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github
    IdentitiesOnly yes
    AddKeysToAgent yes
    UseKeychain yes  # macOS 用户建议开启,可自动记住密码

# Gitee 配置
Host gitee.com
    HostName gitee.com
    User git
    IdentityFile ~/.ssh/id_ed25519_gitee
    IdentitiesOnly yes
    AddKeysToAgent yes
    UseKeychain yes

4.3.2 复制公钥到gitee和github上面

cat ~/.ssh/id_ed25519_gitee.pub

cat ~/.ssh/id_ed25519_github.pub

分别打开gitee 和github ,在用户设置里设置ssh公钥配置

Gitee:
在这里插入图片描述

Github:
在这里插入图片描述

4.4 验证配置结果

验证配置

git remote -v

# 预期输出
# origin  git@gitee.com:你的用户名/obsidian-notes.git (fetch)
# origin  git@gitee.com:你的用户名/obsidian-notes.git (push)
# origin  git@github.com:你的用户名/obsidian-notes.git (push)

📝 重要说明:fetch 只有 Gitee,确保拉取时优先使用国内快速连接push 有两条记录,表示推送时会同时推送到 Gitee 和 GitHub推送顺序按配置先后,先 Gitee 后 GitHub


ssh -T git@gitee.com
ssh -T git@github.com
# 预期输出
# Hi **你的用户名**! You've successfully authenticated, but GITEE.COM does not provide shell access.
# Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

4.5 首次推送测试

# 推送到所有配置的远程
git push origin main  

在这里插入图片描述

五、Obsidian Git 插件配置

5.1 安装插件

打开 Obsidian,进入 设置 → 社区插件,关闭安全模式(如果开启)点击浏览,搜索 "Obsidian Git"安装并启用插件。
在这里插入图片描述

5.2 自动提交设置

进入 设置 → Obsidian Git,推荐以下配置:

基础设置

  • Vault backup interval: 5(每 5 分钟自动备份)

  • Commit message: vault backup: {{date}}(带时间戳的提交信息)

  • Auto push: ✅ 启用(自动推送到远程)

  • Auto pull: ✅ 启用(启动时自动拉取更新)

高级设置

  • Pull updates on startup: ✅ 启用

  • Push on backup: ✅ 启用(每次备份后自动推送)

  • Disable on mobile: ⚠️ 建议启用(移动端性能可能较差)

5.3 分支管理建议

  • main/master: 主分支,存放稳定版本

  • draft: 草稿分支,用于实验性内容

  • archive: 归档分支,存放历史内容

# 创建并切换到草稿分支
git checkout -b draft

# 实验完成后合并到主分支
git checkout main
git merge draft

六、总结与展望

通过本文介绍的双备份方案,你获得了:

数据安全:Gitee + GitHub 双保险,避免单点故障
版本控制:完整的历史记录,随时回溯
自动同步:Obsidian Git 插件自动处理提交推送
国内优化:Gitee 作为主要访问源,速度更快

📌 记住:最好的备份是你永远不需要用到的备份。投入时间来配置这套系统,换来的是数据安全的长期保障。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐