6.Obsidian 三端同步完整流程:电脑、手机、平板通过 Gitee 实时同步
Obsidian 三端同步完整流程电脑、手机、平板通过 Gitee 实时同步适用场景你有两台设备——Windows 电脑 安卓手机平板同理想用 Obsidian 写笔记希望两端内容一致改一处另一处自动跟上。本文以Gitee 作为中转仓库电脑端一键推送手机端 Termux 一句命令拉取全程免费、无需第三方同步服务。0. 核心思路先看懂再动手同步的本质不是Obsidian 自己同步而是用 Git 把笔记文件夹变成代码仓库推到 Gitee两端再各自 pull/push。电脑写笔记──push──▶ Gitee中转仓库 ◀──pull── 手机Termux ▲ │ └──────push手机端有改动时──┘电脑端双击一个快捷方式或命令行输obsidian自动把笔记pull → commit → push到 Gitee。手机端Termux 里输obsidian自动commit 本机改动 → pull → 有改动则 push到 Gitee。平板端和手机端完全一样都是 Termux或装 MGit 手动同步。为什么选 Gitee 而不是 GitHub国内访问快、免费私有仓库、SSH 配置简单。1. 准备工作1.1 需要的东西项目说明电脑Windows 10/11已装 Git或 PortableGit手机安卓已装 Obsidian Termux应用商店或 F-Droid账号一个 Gitee 账号https://gitee.com网络能正常访问 Gitee无需 VPN国内直连1.2 在 Gitee 上建仓库登录 Gitee → 右上角→新建仓库。仓库名称随意如obsidian选私有初始化不勾选Readme保持空仓库。创建后记下仓库的SSH 地址形如gitgitee.com:你的用户名/obsidian.git重要必须用SSH地址不要 HTTPS。SSH 配一次免密后面永不再输密码。2. 电脑端配置2.1 确认笔记目录是 Git 仓库假设你的笔记在D:\Obsidian\笔记。打开 PowerShell执行cd D:\Obsidian\笔记 git status如果提示不是 git 仓库先初始化并关联远程git init git remote add gitee gitgitee.com:你的用户名/obsidian.git注意远程名我用gitee而不是默认的origin避免以后混淆。你也可以用origin脚本里对应改一下即可。2.2 配置 .gitignore关键避免仓库变脏Obsidian 会产生大量配置/缓存文件.obsidian、.trash等这些不该同步否则两端会互相覆盖设置、仓库永远脏。在笔记根目录创建.gitignore# 屏蔽 Obsidian 配置/缓存/回收站 .obsidian .trash # 屏蔽 AI 助手工作目录如有 .claudian # 屏蔽快捷方式/链接文件 *.url open.url # 屏蔽系统垃圾 .DS_Store Thumbs.db desktop.ini *.tmp要点用无斜杠前缀写法如.obsidian而不是.obsidian/可以同时匹配已追踪和未追踪的文件/目录。如果之前已经把这些目录git add进去了需要用git rm --cached -r .obsidian把它们从索引移除再提交一次。2.3 统一换行符避免 CRLF 假改动Windows 默认 CRLF手机默认 LF直接同步会产生每行都被改了的假冲突。在笔记根目录创建.gitattributes* textauto eollf并在 Git 里关闭自动转换git config core.autocrlf false2.4 生成 SSH 密钥并绑定 Giteessh-keygen-t ed25519-C你的邮箱# 一路回车不用设密码然后查看公钥并复制到 Giteecat~/.ssh/id_ed25519.pub打开 Gitee → 右上角头像 →设置→SSH 公钥→ 粘贴保存。测试连接ssh-T gitgitee.com# 看到 Hi 你的用户名! 即成功2.5 写同步脚本创建C:\Users\你的用户名\obsidian_sync_windows.sh#!/bin/bash# Obsidian 电脑端一键同步仅 GiteeNOTE_DIRD:/Obsidian/笔记REMOTEgiteeBRANCHmaincd$NOTE_DIR||{echo❌ 目录不存在;exit1;}# 1. 拉取远程gitpull$REMOTE$BRANCH--rebase--no-edit||{echo⚠️ 拉取冲突请手动解决后重跑;exit1;}# 2. 提交本地改动gitadd.if!gitdiff--cached--quiet;thengitcommit-m电脑端自动同步$(date%Y-%m-%d %H:%M:%S)fi# 3. 推送gitpush$REMOTE$BRANCH||{echo❌ 推送失败检查网络/凭据;exit1;}echo✅ 同步完成注意NOTE_DIR用正斜杠D:/Obsidian/笔记Git Bash 里反斜杠会出错。2.6 做成双击就能同步方式 A桌面快捷方式桌面右键 → 新建 → 快捷方式。目标填一行C:\Users\你的用户名\.workbuddy\vendor\PortableGit\bin\bash.exe C:\Users\你的用户名\obsidian_sync_windows.sh如果你的 Git 装在别处把路径换成C:\Program Files\Git\bin\bash.exe。命名如obsidian同步以后双击就同步。方式 B命令行输一个词创建C:\Users\你的用户名\obsidian.cmdecho off C:\Users\你的用户名\.workbuddy\vendor\PortableGit\bin\bash.exe C:\Users\你的用户名\obsidian_sync_windows.sh把C:\Users\你的用户名加进系统PATH设置 → 关于 → 高级系统设置 → 环境变量 → 用户 PATH → 新建。重启终端后任意位置输入obsidian回车即可同步。2.7 首次推送cd D:\Obsidian\笔记 git add.git commit-m初始提交git push gitee main如果远程默认分支是master而不是main把脚本和命令里的main换成master。3. 手机端配置Termux3.1 安装与授权存储应用商店装Termux。打开 Termux先给存储权限让 Termux 能访问手机文件termux-setup-storage会弹窗请求权限允许。之后~/storage/shared/就映射到手机内部存储。装 Gitpkg updatepkginstall-ygitopenssh3.2 把 Gitee 仓库克隆到手机假设你的 Obsidian 笔记库在手机上的路径是Download/Obsidian_日记cd~/storage/shared/Downloadgitclone gitgitee.com:你的用户名/obsidian.git Obsidian_日记克隆后Obsidian_日记文件夹就是 git 仓库直接用 Obsidian 打开它即可。3.3 手机端 SSH 免密ssh-keygen-ted25519-C手机端cat~/.ssh/id_ed25519.pub把公钥同样添加到 Gitee 的 SSH 公钥里可以和多台设备共用一个也可以分别添加。测试ssh-Tgitgitee.com3.4 写手机端同步脚本重要脚本不能放在~/storage/shared/下安卓外部存储不允许执行脚本必须放 Termux 家目录~。nano~/obsidian_sync_termux.sh内容#!/bin/bash# Obsidian 手机端同步TermuxNOTE_DIR$HOME/storage/shared/Download/Obsidian_日记REMOTEoriginBRANCHmaincd$NOTE_DIR||{echo❌ 目录不存在$NOTE_DIR;exit1;}# 1. 先提交本机改动gitadd.if!gitdiff--cached--quiet;thengitcommit-m手机端同步$(date%Y-%m-%d %H:%M:%S)fi# 2. 拉取 Giteegitpull$REMOTE$BRANCH--rebase--no-edit||{echo⚠️ 拉取冲突请手动解决后重跑;exit1;}# 3. 若有本机提交推送回 Gitee双向同步if[-n$(gitlog$REMOTE/$BRANCH..HEAD2/dev/null)];thengitpush$REMOTE$BRANCH||{echo❌ 推送失败;exit1;}fiecho✅ 手机端同步完成保存后加执行权限chmodx ~/obsidian_sync_termux.sh3.5 添加同步口令编辑~/.bashrc或~/.zshrcechoalias obsidian~/obsidian_sync_termux.sh~/.bashrcsource~/.bashrc以后在 Termux 里输入obsidian回车就自动同步。若 alias 不生效某些 Termux 版本直接用bash ~/obsidian_sync_termux.sh也能跑。4. 平板端平板和手机完全一样装 Termux Obsidian克隆同一个 Gitee 仓库放同样的脚本和 alias 即可。三端共享一个 Gitee 仓库谁改谁 push其他人 pull 就跟上。5. 日常使用规范避免冲突的关键同步前先同步开始写之前先跑一次同步拿到最新内容。写完就同步离开设备前跑一次把改动推上去。大文件要谨慎图片、视频会撑大仓库。Gitee 免费仓库有容量上限约 1GB超了会警告甚至拒收。建议图片尽量压缩后再放超大视频不要进笔记库用云盘分享链接代替。冲突怎么办极少数情况两端同时改了同一文件pull 会报冲突。常见两类内容冲突同一文件两端都改了同一行文件里出现//标记手动编辑保留正确内容后git add . git commit再 push。rename/delete 冲突一端把文件移动/重命名了另一端却删了它git pull --rebase会卡在 rebase 中间见 FAQ 对应条目。这种不能靠编辑文件解决需git rebase --abort后处理。不要在中转仓库里手改文件Gitee 网页上直接编辑笔记容易和本地冲突尽量只在本地 Obsidian 里改。6. 常见问题FAQQpush 时报Failed to connect to gitee.com port 443 via 127.0.0.1A你的 git 配了失效的全局代理。清除它git config--global--unset http.proxy git config--global--unset https.proxyQ手机端报Permission deniedA脚本放在了~/storage/shared/外部存储下安卓禁止执行。移到家目录mv~/storage/shared/Download/Obsidian_日记/obsidian_sync_termux.sh ~/Qgit status 显示一堆.obsidian文件的改动A这些配置目录被追踪了。从索引移除gitrm--cached-r.obsidian.trash git commit-m停止追踪配置目录并确保.gitignore里有.obsidian和.trash。Q每次 push 都提示输入密码A你用的是 HTTPS 地址。改用 SSHgit remoteset-urlgitee gitgitee.com:你的用户名/obsidian.gitQ仓库太大Gitee 警告超 80% 配额A历史里混进了大文件如 Obsidian 程序、视频。短期可用长期需清理历史大文件用git filter-repo或 BFG或新建干净仓库重新推。Q手机端同步报CONFLICT (rename/delete)卡在 rebase 里A这是双端同步最容易遇到的冲突类型。典型报错CONFLICT (rename/delete): 日记/2026/照片/1.22-1 1.jpg renamed to 05-日记/2026/照片/1.22-1 1.jpg in HEAD, but deleted in 8bcde41 (手机端同步 ...) error: could not apply 8bcde41... 手机端同步 ...原因同一文件在两端做了不同方向的操作——一端把它移动/重命名了位置如电脑端把日记/改成05-日记/另一端却把它删除了如手机端同步时删了旧路径的文件。git pull --rebase合并时不知道以谁为准于是卡住仓库进入rebase 进行中状态。解决方法手机端 Termux 里操作第 1 步先中止卡住的 rebasecd~/storage/shared/Download/Obsidian_日记gitrebase--abort若仍报there is already a rebase-merge directory说明 git 的内部状态卡住了手动清除rm-fr.git/rebase-merge第 2 步确认已退出 rebase 状态gitstatus正常应显示分支状态不再提示 “rebase in progress”。第 3 步以远程为准覆盖本地前提是电脑端已是最终正确状态且已推到 Giteegitfetch origingitreset--hardorigin/main此时git status应显示Your branch is up to date with origin/main冲突消失。⚠️git reset --hard会丢弃手机端未推送的本地改动。若手机端有电脑上没有的新笔记先别跑这步应手动git stash保存后再处理。每条命令的作用git rebase --abort取消正在进行的 rebase仓库回到 rebase 前的状态冲突标记清除文件不丢。rm -fr .git/rebase-merge急救命令手动删除 git 记录 rebase 状态的内部目录强制退出rebase 进行中。git fetch origin只下载远程最新提交到本地不合并、不改工作文件先看清楚远程有什么。git reset --hard origin/main把本地分支硬重置到和 Gitee 的main完全一致文件、历史全变一样本地独有改动被丢弃。git status查看仓库状态验证操作是否成功、是否还有冲突。根因与预防rebase 对文件名改动移动/重命名特别敏感双端对同一文件做不同操作时极易冲突。预防措施一端重命名/移动文件后先同步一次等其他端拉取到位再在另一端操作该文件。手机端脚本可把git pull --rebase改为git pull普通 merge冲突时生成合并提交而非卡住或手机端只拉不推除非真在手机写了新笔记。大批量整理文件如把日记/整体改名05-日记/时先在一端完成并推送再在其他端同步避免双端同时整理。7. 进阶让电脑自动同步可选不想每次手动跑可以让 Windows 定时任务帮你推。以管理员身份运行 PowerShell执行$BASHC:\Users\你的用户名\.workbuddy\vendor\PortableGit\bin\bash.exe$SCRIPTC:\Users\你的用户名\obsidian_sync_windows.sh$actionNew-ScheduledTaskAction-Execute$BASH-Argument$SCRIPT$triggers ((New-ScheduledTaskTrigger-Daily-At09:00),(New-ScheduledTaskTrigger-Daily-At19:00),(New-ScheduledTaskTrigger-AtLogOn))Register-ScheduledTask-TaskNameObsidianAutoSync-Action$action-Trigger$triggers-DescriptionObsidian 自动同步注意自动推送只适合电脑端只增不改旧文件的场景。若你会在手机端改同一文件自动 push 可能覆盖建议手动同步更稳妥。8. 总结整套方案的成本0 元只需要 Gitee 账号 一点配置时间。核心文件清单电脑obsidian_sync_windows.sh同步逻辑obsidian.cmd命令入口 桌面快捷方式手机~/obsidian_sync_termux.sh同步逻辑~/.bashrc里的 alias仓库根.gitignore.gitattributes防脏、防冲突的灵魂配置

相关新闻

CAD到UE5数字孪生全流程工具链实战:从数据清洗到性能优化

CAD到UE5数字孪生全流程工具链实战:从数据清洗到性能优化

1. 项目概述:从图纸到虚拟世界的桥梁数字孪生这个概念,这几年在工业、建筑、智慧城市领域火得不行。但很多刚接触的朋友,包括我几年前刚入行时,都容易陷入一个误区:以为它就是做个酷炫的3D可视化。实际上,数…

2026/10/20 14:49:24 阅读更多 →
FSRS间隔重复与动态语境:背单词应用的两个设计问题

FSRS间隔重复与动态语境:背单词应用的两个设计问题

很多背单词产品把重点放在词库数量和卡片样式上,但真正影响长期记忆的通常是两个更底层的问题:什么时候复习,以及复习时看到什么。 前者是调度问题,FSRS 这类间隔重复算法负责处理;后者是学习内容问题,需要…

2026/10/20 14:23:38 阅读更多 →
电脑音频文件管理软件从标签整理到跨设备访问的完整梳理

电脑音频文件管理软件从标签整理到跨设备访问的完整梳理

电脑上积累的音频文件一多,管理起来就让人头疼——文件名混乱、标签缺失、重复文件占空间。市面上的音频管理软件大致分为“全能型选手”和“专注标签与整理的专家”两类,各有侧重。 一、全能型选手:管理、播放、同步一体化 适合希望用一个软…

2026/10/21 7:41:13 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/21 9:32:40 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/21 9:32:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/21 9:32:40 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/21 9:32:40 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/21 9:32:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/21 9:31:32 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起:用户到底在追求什么“封号重开”这四个字,放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流,背后是大量的时间和精力成本。正常情况下,没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”,而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时,就意识到:单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/21 4:27:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →