想在电脑和 Android 端同步 Obsidian 笔记?让 Git 帮你牵线搭桥
Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
前言
如果你使用 Android 版 Obsidian ,一个必须考虑的问题就是如何与电脑端同步笔记。
对此,诚然可以选择官方的 Obsidian Sync 服务,或者使用 Dropbox 等第三方同步工具,但我最推荐的还是 使用 Git 同步 。理由在于:
- 相比其他解决方案,Git 是开源的,不仅免费,而且安全性有保证;
- 作为最先进的分布式版本控制系统(没有之一),用 Git 可以方便地实现版本回溯和协同编辑等功能;
- Git 支持多种操作系统(Windows、macOS、Linux、Android、iOS),可以按需托管在国内外多家平台上(国外的 GitHub 、 GitLab ,国内的 Gitee 、 CODING )。
当然, 用 Git 同步的方案也有局限 ,包括有一定的学习成本,对纯新手不友好;多设备同时编辑容易产生冲突;以及需要另行手动备份存档等。
但瑕不掩瑜,Git 仍然是我在 Windows 桌面端和 Android 端同步 Obsidian 的首选。本文就为大家介绍我的具体实现方案。
( 注: 行文简洁起见,本文假定读者掌握命令行环境的基本操作,对于 Git 的功能和机制有初步了解。如果你不了解Git,那么本文食用起来可能会比较困难,不妨先通过 廖雪峰的 Git 教程 简单学习后再来尝试。)
Windows 桌面端的准备工作
第一步:安装 Git
在开始之前,请确保自己的 Windows 系统中已经安装了 Git。如果还没有安装,可以参考 廖雪峰的教程 。如果你已经安装了,那么可以跳过这一步。
第二步:在 Git 托管平台中新建仓库
接下来,我们在自己选用的 Git 托管平台上新建一个笔记专用仓库。
考虑到国内用户的访问便捷程度和中文支持,本文将主要使用国产服务 Gitee 演示( 官网注册链接 ),并简单说明更为主流的 GitHub 平台的对应操作。
- 如果使用 Gitee: 在顶部导航条点击「+」>「新建仓库」,根据提示填写信息即可(暂不勾选给出的初始化选项)。
- 如果使用 GitHub: 在顶部导航条点击「+」>「New Repository」,根据提示填写信息即可(暂不勾选给出的初始化选项)。
第三步:生成 SSH 密钥
接着,我们需要生成一个 SSH 密钥(SSH Key),用于在本地和远程 Git 仓库同步时验证身份。
方法一:自动配置
为方便新手用户,我准备了一个配置脚本,按照如下步骤运行即可完成配置:
.txt .sh
#!/bin/bash splitLine="=====================================================" userName="这里改成你的用户名" email="这里改成你的Email" # 配置 git 用户名和邮箱 git config --global user.name ${userName} git config --global user.email ${email} git config --global --list echo "Enter 或者 y 键确认" ssh-keygen -t rsa -C "${email}" # 打印公钥 echo "复制保存下面的公钥添加到远程仓库" echo ${splitLine} cat ~/.ssh/id_rsa.pub echo ${splitLine} echo "按任意键退出" read -n 1 echo "继续运行"
注意:
- 如果你本地之前生成过 SSH,那么脚本会提示你是否覆盖,此时输入
y
回车即可。 - 如果操作中途不小心关掉了脚本窗口,不要慌,双击重新执行脚本即可。
- 执行过程中会出现如下图所示的四次提示确认步骤,简单起见,建议大家 直接回车 不设置参数(当然如果你明白这些步骤的具体含义,也可以设置需要的参数)。
脚本执行完后, 将分割线里面的内容复制出来保存好 。后面会用到。
方法二:手动配置
如果你希望自己动手完成配置过程,下面介绍手动配置方法,这与前述脚本是等效的。
在空白位置点击鼠标右键,选择 Git Bash (或者用你习惯的其他终端模拟器,如 Windows Terminal 等访问 Bash 亦可):
在弹出的 Bash 窗口中,输入下面的命令 配置用户名 :
git config --global user.name 你的用户名
以及用下面的命令 配置邮箱 :
git config --global user.email 你的邮箱
完成前两步后,可以用下面的命令检查 是否配置成功 :
git config --global --list
如下图所示,如果返回的结果正确显示了你输入的用户名和邮箱,说明配置是正确的:
接着,输入下面的命令 生成 SSH Key 。参考上面脚本教程的截图,按四个回车即可。
ssh-keygen -t rsa -C "你的邮箱替换中文"
最后,用如下命令 显示生成的公钥 ,将其 复制出来备用 :
cat ~/.ssh/id_rsa.pub
第四步:上传 SSH 公钥
下面,我们将生成的 SSH 公钥上传至 Git 托管平台。
- 对于 Gitee: 点击导航栏右上角头像,选择「设置」,然后在侧边栏菜单选择「SSH 公钥」,填入上一步保存的公钥内容并保存确认。
- 对于 GitHub: 点击导航栏右上角头像,选择「Settings」,然后在侧边栏菜单选择「SSH and GPG keys」,填入上一步保存的公钥内容并保存确认。
第五步:配置本地 Obsidian 仓库
下面,我们在本地配置用于同步的 Obsidian 笔记文件夹。
从 Gitee 或 GitHub 网页端访问刚才新建的仓库,由于尚未初始化,网页上会展示下图所示的配置指引:
这里,我们按其中的「创建 Git 仓库」一节配置。
具体而言,进入你用作 Obsidian 笔记库的文件夹,进入后在空白处点击右键进入 Bash,依次执行如下命令:
touch README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin "替换为上图中本条命令位置提示的远端地址(形如 [email protected]:user/repo.git)" git push -u origin main
第六步:配置 Git 仓库同步
完成了本地仓库的配置,接下来要解决的就是在本地和远端之间推送和拉取笔记文件。这里,固然可以定期、手动通过命令行的 git
命令来同步,但那未免繁琐。
笔者惯用的方式是使用 GitKraken 。这是一款免费、图形界面的 Git 管理工具。
安装后,先点击左上角的文件夹图标,选择本地 Obsidian 笔记库打开。然后即可通过工具栏按钮快捷地同步,或者在主界面中追踪同步历史等。
除了用 GitKraken 外,你也可以通过 Obsidian Git 插件 ,直接在 Obsidian 内部完成仓库的同步。
Android 端的准备工作
Android 端的配置相对简单,除了 Obsidian app,只需要另外安装一个 Git 客户端即可。
这里,我推荐使用 MGit,它是笔者能找到的最符合个人需求的 app;其他的如 GitJournal 等 app 多少有些小问题。如果你有更好用的推荐,欢迎在评论区分享。
MGit 的配置步骤如下:
- 在设置界面的「repos 的根存储位置」拟用于存放 Android 设备上 Obsidian 笔记的路径:
- 在设置页面,点击「SSH Keys」>「+」,新建 SSH 密钥;
- 参考前面的方法,将生成的公钥上传到 Gitee 或 GitHub;
- 从 Gitee 或 GitHub 复制 SSH Remote 地址(即上述 Windows 配置部分第五步用到的地址,也可以在仓库主页面点击「下载/克隆」(GitHub 点击「Code」)查看),填入远程地址,点击克隆。
成功之后,打开 Obsidian for Android。一般来说,Obsidian自动扫描到你克隆到手机的工作空间。如果没有扫描到,那么手动从 Obsidian 进入上述步骤设置的仓库路径,用作工作空间即可。
结语
细心的朋友可能已经看出来了,就是 Obsidian 的工作空间在PC和手机上都是通用的。这方面要为 Obsidian 的开发团队点赞。
不过,个人不建议在手机端编辑文档。因为手机端屏幕太小影响体验和发挥,只负责查阅即可,编辑还是放到 PC 端比较好。
如果大家对本文方案有什么更好的建议,可以在评论区提出。
关联阅读:
> 下载少数派客户端、关注少数派公众号,了解更妙的数字生活 :leaves:
> 想申请成为少数派会员?冲!
- 新玩意 082|少数派的编辑们最近买了啥?
- 用硬苹果捏软柿子:M1 系列 Mac 虚拟 Windows 11 免费方法谈
- App 1 | 十年如一的老牌笔记应用:Notes Plus X 都有哪些新特性?
- Windows 与 iOS 的跨平台协作方案:Dell Mobile Connect
- 能扫能拖的洗地机怎么选:聊聊那些值得你了解的优缺点
- 想挑一台微单,除了双十一的好价你还需要了解什么?
- 知名 iPad 创作工具大更新,你可以在 Procreate 中进行 3D 绘画了
- 考物阁 01 | 我买了一块号称「世界最薄」的折叠键盘
- 全新配色来了 ,正是入手的好时机:HomePod mini 体验分享
- 派评 | 近期值得关注的 App
- 互联网广告机器的新戏法:Google FLoC 科普
- 做好个人数据与隐私防护,从这份检查清单开始
- 今天开始,与你息息相关:个人信息保护法亮点详解
- 个人信息保护法正式施行,隐私安全新篇章由此开启
- 为你带来 1 款「迷你」新周边以及 10 款新 iPhone 用得上的配件
- 老款 iPhone 也能拍「微距」:专业相机应用 Halide 更新
- 看什么 · 特别篇丨在万圣节看恐怖片才是正经事
- 译文 | Tensor 之意不在「酒」:Google Silicon 团队专访,为你揭开定制芯片的秘密
- 快到年底了,首批「适老化」应用能帮老人用好手机吗?
- 双十一购物季,这些笔记本电脑值得你的关注