如何实现白嫖的平板obsidian多端互通(基于git+termux+github)


文章目录

    • 如何实现白嫖的平板obsidian多端互通(基于git+termux+github)
  • 前言
  • 一、环境概述
  • 二、使用步骤
    • 1.Termux配置
        • 1. Termux下载
        • 2. Termux初始化
        • 3. git配置
    • 2.obsidian配置
    • 3.Obsidian远程连接Github
        • 1.本地仓库git初始化
        • 2.配置github认证(HTTPS+Token)
        • 3.配置远程仓库
        • 4.设置gitgnore
  • 总结


前言

obsidian,一款免费且灵活的笔记软件,以markdown的形式进行笔记的撰写,并附带有诸多好用的功能和庞大的插件社区,不过不好的是官方多端同步不免费。
所以,下面我们带来基于git和termux的免费多端同步,让我们在平板上也能和电脑互通。

一、环境概述

  • 设备:安卓平板(我使用的是华为平板,鸿蒙4.3,经测试一样可行)、个人电脑
  • 必要工具:Termux、Git(Termux 内安装)、Obsidian、GitHub 账号
  • 远程仓库:GitHub(HTTPS + Personal Access Token)

二、使用步骤

1.Termux配置

Termux,一个适用于 Android 的终端模拟器,其环境类似于 Linux 环境。 无需Root或设置即可使用。我们通过其内置linux环境进行git的使用。

1. Termux下载

安装完成后进入Termux:
请添加图片描述

2. Termux初始化

第一次进入Termux执行

termux-setup-storage

允许访问共享存储后,查看Termux可以访问哪些文件夹:

ls

可以见到输出了storage文件夹,这就是移动端的内部储存文件夹,进入此文件夹

cd storage/

再次ls查看Termux能访问哪些文件夹。并非所有文件夹Termux都可以访问,所以我们后面建立obsidian仓库时,需要把仓库建立在Termux能访问的文件夹内。

ls

可见输出了 dicm downloads movies ……,下面根据自己的实际输出,在你想要的文件夹内创建obsidian仓库。
请添加图片描述

3. git配置

git的下载

pkg upgrade
pkg git

随后设置git用户信息,建议和github上的用户名以及注册邮箱一致

git config --global user.name "yourname"

git config --global user.email  youremail@xx.com

2.obsidian配置

首先,你需要下载obsidian,多端适配,请找到适合你的版本(安卓端直接下载apk即可)

随后进行仓库的创建请添加图片描述
请添加图片描述
找到前面在termux里你选定的文件夹
请添加图片描述

请添加图片描述

新建一个obsidian文件夹来存放你的仓库

请添加图片描述
请添加图片描述

好的现在你已经创建了你的第一个obsidian仓库了

3.Obsidian远程连接Github

1.本地仓库git初始化

回到termux,进入刚刚创建的obsidian文件夹,进入你刚刚创建的仓库内

cd storage/downloads/obsidian/AAA_warehouse_wholesale_cloud/

进行git初始化

# 进行git初始化
git init
# 将下列文件夹列入git的安全名单,最后面名字换成你的仓库名
git config --global --add safe.directory /storage/downloads/obsidian/AAA_warehouse_wholesale_cloud

随后添加文件并提交

git add .
git commit -m "first"
2.配置github认证(HTTPS+Token)

首先,你得先生成一个github仓库,用于存放这些文件。
不会?你总能找到github教程的,这里就不告诉你了

而后,我们在github内生成个人访问令牌(PAT)

路径:

GitHub → Settings(点击你的头像找到settings) → Developer Settings(在settings的最下面) → Personal access tokens → Tokens (classic) → Gemerate new token(classic)(右上角“生成新的令牌”处)

输入你的令牌名,记得勾选下面的持续时间(为了避免麻烦可以选择无期限)和“repo”(给予权限),而后到最下面创建令牌
请添加图片描述

创建完成后你会有唯一一次机会去复制你的令牌!,记得一定要复制保存!(别泄露了)
请添加图片描述

3.配置远程仓库

之后回到termux,配置远程仓库

# 使用git remote add origin https://github.com/<你的用户名>/<仓库名>.git 来链接你们远程仓库
git remote add origin https://github.com/CloudWhiteTower/AAA.git

进行首次push

# 把分支名改名为main
git branch -m main
# 上传main分支
git push -u origin main

Git 会提示输入:

  • 用户名:GitHub 用户名

  • 密码:刚才生成的 Token(不是 GitHub 登录密码)

输入完后,使用如下程序让git记住token

git config --global credential.helper store
4.设置gitgnore

Obsidian 的 workspace / cache / plugin data 会频繁变动,必须忽略
在你的仓库根目录内创造.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

# obsidian-git 插件数据(可选)
.obsidian/plugins/obsidian-git/data.json

# 系统临时文件
.DS_Store
Thumbs.db

# 临时目录
temp/
tmp/

使用ctrl+o 回车 保存

使用ctrl+x 退出

提交

git add .gitignore
git commit -m "add gitignore"
git push

之后,你就可以使用git的各种命令快乐的进行文件管理啦(记得先转移到仓库文件夹)

  • 比如开始写笔记前先git pull --rebase下,从远程下拉最新版本
  • 写完笔记后git add -A,git commit -m "update notes",git push上传。

如果你不想这么麻烦,可以使用如下一键脚本

  • 在 Termux 主目录创建脚本:
# 进入主目录
cd
#创造一键脚本
nano ~/sync_obsidian.sh
  • 输入如下内容
#!/data/data/com.termux/files/usr/bin/bash
set -e
# 记得改成你的仓库位置
cd /storage/downloads/obsidian/first. || {
  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都可以先进行本地的添加和上传,再进行远程的拉取,最后进行远程的推送

之后写前任意目录sos,,写后任意目录sos即可


总结

享受你的远程仓库吧~

最后可以试试自己配置电脑端的obsidian远程仓库,原理是完全一致的,同时更简单些。这样就能实现完整的多端互通了

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐