Obsidian 多端同步实现

原文地址

1. 前言

如何将 windows 和 android 端的 obsidian 同步?可以选择官方的 Obsidian Sync 服务,或者使用 FolderSync 等同步工具。本文介绍一种基于 Git 的方法实现同步。

1.1 Obsidian 是什么?

一款使用 Markdown 语法的笔记软件,且文件都是存储在本地,方便迁移和管理。了解更多

Obsidian官网
基础使用

1.2 Git 是什么?

一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。了解更多

Git官网
基础使用

1.3 Gitte 是什么?

基于 Git 的代码托管服务平台。

Gitee官网
基础使用

1.4 MGit 是什么?

MGit 是一款基于 Git 的多仓库管理工具,可以安全、高效地管理多个 Git 仓库。了解更多

源码

1.5 实现原理

使用 gitee 平台托管 obsidian 的本地文件,实现多端同步、修改、版本控制、版本回滚。

1.6 缺点

  1. 对纯新手不友好,需要学习成本。(Git教程)
  2. 团队多设备同时编辑容易产生冲突,需要解决冲突(一个人使用没问题)。
  3. 每次修改后都需要自行推送到托管平台。

2. 使用方法

2.1 Windows 安装 Git、Obsidian

Git安装教程
Git下载链接
Obsidian下载链接

Android 安装 MGit、Obsidian

下载链接

2.2 本地仓库同步到远程仓库

  1. Gitee 新建一个私有仓库(远程仓库)
  2. 复制远程仓库的 https 地址
  3. 右键桌面 -> Git Bash here(打开bash) -> 输入以下命令:
git clone 远程仓库地址
  1. 推送文件到远程仓库,cd 进入文件夹,输入命令:
# 添加远程仓库别名为origin
git remote add origin 远程仓库地址
# 将当前目录下所有文件都添加到暂存区
git add .
# 将暂存区的文件提交到本地仓库
git commit -m "update infomation"
# 推送到远程仓库的某个分支
git push origin master
  1. 不出意外会让你输入账号密码,正确就会开始推送

2.4 MGit 的设置

  1. 配置本地文件夹
  2. 添加远程仓库

MGit的设置参考教程

3. 结尾

如果觉得每次都要输入账号密码麻烦,可以配置ssh

3.1 配置ssh免密登录

参考教程

  1. 运行命令生成 .ssh密钥目录
ssh-keygen -t rsa -C "用于生成的sshkey的名称"

三次回车,即可生成 ssh key,在用户目录下会生成 .shh 的文件夹

  1. 添加公钥到gitee
    gitee 在设置里面找到SSH KEY(ssh公钥),将 .pub 文件的内容粘贴进去
  2. 更新本地origin仓库地址
# 查看仓库地址
git remote -v
# 更改旧的仓库地址
git remote set-url origin 远程仓库的ssh地址
  1. 测试是否成功
ssh -T [email protected]

之后按照正常push,就不用密码了

3.2 hook declined 的错误处理

为了防止hook declined,只能push到其他分支,然后再合并

  1. 将所要push的内容所在的分支的protected权限关闭

    1. 进入所在项目的settings
    2. 点击进入Protected branches,点击unprotected将master分支的权限改变,即关闭master的protected权限
  2. 新建其它分支,将项目push到新建的分支上,后期再进行merge

    # 新建分支
    git branch 分支名
    # 切换分支 
    git checkout 分支名
    # 提交
    git add .
    git commit -m "update infomation"
    git push -u origin 分支名
    

参考文章

  1. Obsidian:一款完美的科研笔记/知识管理软件
  2. 玩转 Obsidian 02:基础设置篇
  3. Git教程
  4. 用 Git 在 Android 和 Windows 间同步 Obsidian 数据库
  5. 在鸿蒙或 Android 设备同步

你可能感兴趣的:(知识管理,git,github)