基于 Git 和 Termux 实现 Obsidian 平板多端同步方案
本文介绍了在安卓平板上使用 Termux 结合 Git 和 GitHub 实现 Obsidian 笔记多端免费同步的方法。主要步骤包括配置 Termux 环境、初始化本地仓库、生成 GitHub Token、设置远程连接及配置忽略文件。通过编写自动化脚本简化同步流程,最终达成平板与电脑端的无缝数据互通,无需使用官方付费同步服务。

本文介绍了在安卓平板上使用 Termux 结合 Git 和 GitHub 实现 Obsidian 笔记多端免费同步的方法。主要步骤包括配置 Termux 环境、初始化本地仓库、生成 GitHub Token、设置远程连接及配置忽略文件。通过编写自动化脚本简化同步流程,最终达成平板与电脑端的无缝数据互通,无需使用官方付费同步服务。

Obsidian 是一款免费且灵活的笔记软件,以 Markdown 形式撰写笔记,功能丰富且插件社区庞大。但官方多端同步服务不免费。本文介绍基于 Git 和 Termux 的免费多端同步方案,实现平板与电脑互通。
Termux 是适用于 Android 的终端模拟器,提供类 Linux 环境,无需 Root 即可使用。
安装完成后进入 Termux。

第一次进入 Termux 执行以下命令允许访问共享存储:
termux-setup-storage
查看 Termux 可访问的文件夹:
ls
输出包含 storage 文件夹,即移动端内部储存。进入该目录:
cd storage/
再次 ls 查看具体子文件夹(如 downloads)。后续建立 Obsidian 仓库时,需将仓库建立在 Termux 可访问的文件夹内。

安装 Git:
pkg update && pkg upgrade && pkg install git
设置 Git 用户信息(建议与 GitHub 一致):
git config --global user.name "yourname"
git config --global user.email [email protected]
下载并安装适合设备的 Obsidian 版本(安卓端直接下载 APK)。
创建本地仓库:


选择 Termux 中已选定的文件夹路径:


新建一个文件夹存放仓库:


回到 Termux,进入创建的 Obsidian 文件夹:
cd /storage/downloads/obsidian/<your_repo_name>
进行 Git 初始化:
git init
git config --global --add safe.directory /storage/downloads/obsidian/<your_repo_name>
添加文件并提交:
git add .
git commit -m "first"
在 GitHub 上生成新的仓库。
生成个人访问令牌(PAT):
路径:GitHub → Settings → Developer Settings → Personal access tokens → Tokens (classic) → Generate new token (classic)。
输入令牌名,勾选有效期(如 No expiration)和权限(repo),点击生成。

复制生成的令牌并保存(仅显示一次)。

在 Termux 中配置远程仓库:
git remote add origin https://github.com/<你的用户名>/<仓库名>.git
重命名分支并上传:
git branch -m main
git push -u origin main
Git 会提示输入用户名和密码,密码处输入刚才生成的 Token。
让 Git 记住 Token:
git config --global credential.helper store
忽略 Obsidian 的缓存和临时文件。在仓库根目录创建 .gitignore 文件:
nano .gitignore
写入以下内容:
# 忽略 Obsidian 布局文件
.obsidian/workspace
.obsidian/workspace.json
.obsidian/workspace-mobile.json
# 缓存文件
.obsidian/cache/
.obsidian/appearance.json
# 插件运行时数据
.obsidian/plugins/*/data.json
.obsidian/plugins/*/manifest.json
# 系统临时文件
.DS_Store
Thumbs.db
temp/
tmp/
保存退出后提交:
git add .gitignore
git commit -m "add gitignore"
git push
日常使用中,写笔记前拉取更新,写完笔记后提交推送:
git pull --rebase
git add -A
git commit -m "update notes"
git push
在 Termux 主目录创建脚本简化操作:
nano ~/sync_obsidian.sh
输入以下内容:
#!/data/data/com.termux/files/usr/bin/bash
set -e
cd /storage/downloads/obsidian/<your_repo_name> || { echo "❌ 无法进入仓库目录"; exit 1; }
echo "📌 添加所有修改..."
git add -A
if git diff --cached --quiet; then
echo "ℹ️ 无需提交"
else
if [ -n "$1" ]; then
msg="$1"
else
msg="sync from tablet on $(date '+%Y-%m-%d %H:%M:%S')"
fi
git commit -m "$msg"
fi
echo "📥 拉取远程更新 (rebase)..."
git pull --rebase
echo "🚀 推送到远程..."
git push
echo "✅ 同步完成"
赋予执行权限:
chmod +x ~/sync_obsidian.sh
设置快捷别名:
echo "alias sos='~/sync_obsidian.sh'" >> ~/.bashrc
source ~/.bashrc
此后在任何目录输入 sos 即可自动完成拉取、提交和推送。
享受你的远程仓库吧!
最后可以配置电脑端的 Obsidian 远程仓库,原理完全一致,从而实现完整的多端互通。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online