Obsidian Git 多端同步

2023年6月,某云笔记限制了免费用户最多同时登录 2 台设备,想要增加设备数量需要付费开通会员。之后我一直想找一款合适的笔记本软件,年底尝试了Obsidian,断断续续摸索了好几天终于成功了。将那时的笔记拿来分享一下。

 相关地址:

iSH iSH

Markdown Markdown 段落格式 | 菜鸟教程

移动端(iPhone为例)

1. iPhone (IPad 没试过),appstore下载安装 iSH 和 obsidian。

2. 打开 iSH,进行更新。

apk update

3. 依次安装好以下软件:git、vim、openssh、openrc,在 iSH 上使用命令行安装。

apk add git
apk add vim
apk add openssh
apk add openrc

4. 打开 obsidian,创建一个新的空仓库,例如命名为 Obsidian Vault,(关闭 iCloud 同步,默认关闭)。之后打开 IOS 上的“文件”应用程序,在“我的 iPhone”中可以看到 obsidian 文件夹和其下的 Obsidian Vault 文件夹。

5. 使用 Git 平台 Gitee (其他如Github、Coding等也可),并创建私人仓库 ObsidianVault。

6. 以 Gitee 为例,在 iSH 上设置好和 Gitee 托管平台一致的用户名和邮箱。

git config --global user.name "weikmys"
git config --global user.email "xxx@qq.com"

7. ssh生成公钥。

ssh-keygen -t ed25519 -C "xxx@qq.com"

8. 查看公钥,这时在 ish 上呈现出 id_ed25519.pub 里的内容,进行复制。

cat /root/.ssh/id_ed25519.pub

这一步需要登录codeup托管平台操作

配置公钥至托管平台,登陆 Gitee,右上角点击个人头像,点击个人设置,点击左侧的ssh公钥,将复制的公钥粘贴上,标题随意,添加进去。

以下需要打开iSH操作

1. 用 vim 打开配置文件。

vim /etc/ssh/sshd_config

2. 在打开的文件中,添加一行新的参数为: (前面不加#号,操作界面指示如图)。

PermitRootLogin yes

3. !wq 保存退出文件后,检查ssh是否启动,如没启动,会自动启动,显示[ok]时即可。

rc-service sshd restart

4. 在iSH中建立 obsidian 文件夹。

cd ~ && mkdir obsidian

5. 执行以下命令会打开手机文件管理器,之后需要选中本地的 obsidian 文件夹,点击完成。这样就让 obsidian 软件中的 Obsidian Vault 文件夹,装载到 iSH 上的 obsidian 文件夹内 ,之后对于obsidian 软件内 Obsidian Vault 文件的修改,iSH上也同步修改。

mount -t ios . obsidian

6. 通过cd命令,进入 Obsidian Vault 文件夹内。

cd ~/obsidian/Obsidian Vault

7. 初始化git。

git init

8. 为了防止出错,要禁用安全名单。

git config --global --add safe.directory /root/obsidian/Obsidian Vault

9. 使 iSH 链接你的仓库地址,使用 http 而不用 ssh ,因为在 obsidian 使用 obsidian git 启动自动下拉时,会报错 UnknownTransportError: Git remote "git@gitee.com:weikmys/obsidian-vault.git" uses an unrecognized transport protocol: "ssh"。

git remote add origin https://gitee.com/weikmys/obsidian-vault.git

10. 后面尝试在 obsidian 编辑修改文件后,在 iSH 上操作同步与更新。没有问题后,打开 obsidian 浏览第三方插件库(注意:这里需要连接外网),安装 obsidian git,启动。

11. 配置 Authentication/Commit Author ,否则报错 Authentication failed. Please try with different credentials

12. 配置 Backup 的 Pull updates on startup,打开。

13. 也可配置 Commit message 的 Commit message on manual backup/commit,前加 iPhone ,以便知道是从哪里来的提交。

PC端(Mac为例)

1. clone http 到本地。

git clone https://gitee.com/weikmys/obsidian-vault.git

2. 打开 obsidian 浏览第三方插件库(注意:这里需要连接外网),安装 obsidian git,启动。

3. 配置 Backup 的 Pull updates on startup,打开。

4. 也可配置 Commit message 的 Commit message on manual backup/commit,前加 Mac ,以便知道是从哪里来的提交。到此完毕。

配置.gitignore文件如下

/.obsidian/

命令面板

如果想要查看当前的工作区、暂存区,可以使用快捷键 command + p 打开命令面板,输入 open source control view 就可以打开 Git 面板了。如果你懒得看 source control view,自己直接用 command + p 打开命令面板,分别执行 git commit 命令与 git push 即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/331263.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang单元测试

文章目录 传统测试方法基本介绍主要缺点 单元测试基本介绍测试函数基准测试示例函数 传统测试方法 基本介绍 基本介绍 代码测试是软件开发中的一项重要实践,用于验证代码的正确性、可靠性和预期行为。通过代码测试,开发者可以发现和修复潜在的错误、确保…

Elasticsearch集群搭建学习

Elasticsearch集群聚合、集群搭建 RestClient查询所有高亮算分控制 数据聚合DSL实现Bucket聚合DSL实现Metrics聚合RestAPI实现聚合 拼音分词器如何使用拼音分词器?如何自定义分词器?拼音分词器注意事项? 自动补全数据同步集群搭建ES集群结构创…

HarmonyOS鸿蒙应用开发——ArkTS的“内置组件 + 样式 + 循环和条件渲染”

一、内置组件是咩? 学过前端的都知道,一个组件就是由多个组件组成的,一个组件也可以是多个小组件组成的,组件就是一些什么导航栏、底部、按钮......啥的,但是组件分为【自定义组件】跟【内置组件】 【自定义组件】就…

java继承使用细节二

构造器 主类是无参构造器时会默认调用 public graduate() {// TODO Auto-generated constructor stub也就是说我这里要用构造器会直接调用父类。它是默认看不到的 ,System.out.println("graduate");} 但当主类是有参构造器如 public father_(int s,doubl…

K8S集群中Yaml文件详解

目录 一、Yaml概述 二、Yaml基本语法 三、Yaml数据结构 四、K8S资源清单描述方法 五、api资源版本标签 六、Yaml文件示例详解 1.deployment.yaml文件详解 2.Pod yaml文件详解 3.Service yaml文件详解 七、Yaml文件相关操作 1.试运行 2.生成yaml格式 3.生成json格式…

超大Sql文件切分工具SQLDumpSplitter —— 筑梦之路

官网:PLB PLB - SQLSplitter 用于将大型MySQL转储拆分为可独立执行的小型SQL文件。 显示100%时并不是已经处理完了,而是才开始 优点 软件程序小巧,不需要安装,直接点击运行就可以最厉害的是SQLDumpSplitter可以自动将结构语句&…

JVM学习-执行引擎

执行引擎 执行引擎是Java虚拟机核心组成部分之一虚拟机是一个相对于物理机的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎是由软件自行实现的&#xf…

近临算法(个人总结版)

背景 近邻算法(Nearest Neighbor Algorithm)是一种基本但非常有效的分类和回归方法。最早由Fix和Hodges在1951年提出,经过几十年的发展和改进,已成为数据挖掘、模式识别和机器学习领域的重要工具。近邻算法基于相似性原则&#x…

vue源码2

vue之mustache库的机理其实是将模板字符串转化为tokens 然后再将 tokens 转化为 dom字符串&#xff0c;如下图 对于一般的将模板字符串转化为dom字符串&#xff0c;这样不能实现复杂的功能 let data {name:小王,age:18 } let templateStr <h1>我叫{{name}},我今年{{ag…

git分支常用命令

最近在用git提交代码的时候&#xff0c;发现有些命令不是很会&#xff0c;先记录几个常用分支命令&#xff0c;后续再补充&#xff0c;在执行git push命令提交代码的时候遇到报错&#xff0c;一并记录下。 1.git常用命令 新建分支&#xff1a; git branch <分支名称> 比…

2025第十届美陈展

展位又遭疯抢&#xff01;2025第十届美陈展释放“无界之美” 美是全球通用的语言&#xff0c;人类对美的追求始终如一&#xff0c;大众审美在经历了时代的变迁后开始趋同&#xff0c;东方文明深处的美学经济开始崛起。 在如今商业迈入存量阶段&#xff0c;以品牌为突破口打造…

Ai自动贴图直播项目的趋势,智享自动直播GMV增加工具

在当今社会&#xff0c;直播行业正在悄然地改变着人们的生活方式。无论是在闲暇时光中放松身心&#xff0c;还是在临睡前享受休闲娱乐&#xff0c;观众们越来越习惯于通过刷短视频或者观看直播来消遣自己。根据统计数据显示&#xff0c;到2023年全球将有超过10.74亿网民&#x…

前端日志收集(monitor-report v1)

为什么 为什么自己封装而不是使用三方 类似 Sentry 这种比较全面的 因为 Sentry 很大我没安装成功&#xff0c;所有才自己去封装的 为什么使用 可以帮助你简单解决前端收集错误日志、收集当前页面访问量&#xff0c;网站日活跃&#xff0c;页面访问次数&#xff0c;用户行…

海外仓储管理系统:提升效率,标准化海外仓管理,科技赋能业务

海外仓作为跨境物流的关键一环&#xff0c;完全可以说海外仓的效率直接决定了后续物流的整体运作效率。 对于海外仓而言&#xff0c;一套高效&#xff0c;易用的海外仓储系统&#xff0c;无疑将成为提升企业竞争力的重要工具&#xff0c;帮助海外仓实现从野蛮生长到标准化管理…

pytorch-13_2 模型结构选择策略:层数、激活函数、神经元个数

一、拟合度概念 在所有的模型优化问题中&#xff0c;最基础的也是最核心的问题&#xff0c;就是关于模型拟合程度的探讨与优化。根据此前的讨论&#xff0c;模型如果能很好的捕捉总体规律&#xff0c;就能够有较好的未知数据的预测效果。但限制模型捕捉总体规律的原因主要有两点…

02_前端三大件HTML

文章目录 HTML用于网页结构搭建1. 标签2. 客户端服务器交互流程3. 专业词汇4. html语法细节5. 安装VSCODE安装插件6. Live Server插件使用7. 标题&段落&换行&列表8. 超链接标签使用9. 图片10. 表格的写法11. 表单标签*(重点)12. 下拉框13. 页面布局标签14. 块元素和…

java —— 封装、继承、接口和多态

一、封装 封装是将数据和操作这些数据的方法整合成一个类。在这个类中&#xff0c;用 private 修饰符将某些数据隐藏起来&#xff0c;只通过特定的方法实现这些数据的访问和修改&#xff0c;以此实现数据的完整和安全性。 封装的步骤&#xff1a; 二、继承 继承是指把子类共有…

韵搜坊 -- Elastic Stack快速入门

文章目录 现有问题Elastic Stack介绍&#xff08;一套技术栈&#xff09;安装ES安装KibanaElasticsearch概念倒排索引Mapping分词器IK分词器&#xff08;ES插件&#xff09;打分机制 ES的几种调用方式restful api调用&#xff08;http 请求&#xff09;kibana devtools客户端调…

Creating Server TCP listening socket *:6379: listen: Unknown error

错误&#xff1a; 解决方法&#xff1a; 在redis安装路径中打开cmd命令行窗口&#xff0c;输入 E:\Redis-x64-3.2.100>redis-server ./redis.windows.conf结果&#xff1a;

Jenkins 构建 Web 项目:构建服务器和部署服务器分离的情况

构建命令 #!/bin/bash node -v pnpm -v pnpm install pnpm build:prod # 将dist打包成dist.zip zip -r dist.zip dist