当前位置: 首页 > news >正文

实现Obsidian PC端和手机端(安卓)同步

步骤 1:在PC端设置Obsidian

  1. 安装Obsidian和Git:确保你的PC上已经安装了Obsidian和Git。你可以从Obsidian官网和Git官网下载并安装。

  2. 克隆GitHub代码库:在PC上打开命令行(例如Windows的命令提示符或Mac/Linux的终端),然后运行以下命令将GitHub仓库克隆到本地:

    git clone https://github.com/your-username/your-repository.git

    替换your-usernameyour-repository为你的GitHub用户名和仓库名。

  3. 在Obsidian中打开本地库:在Obsidian中选择“Open folder as vault”选项,然后选择你刚刚克隆的代码库所在的文件夹。

  4. 设置自动同步(可选):可以使用第三方同步工具(例如Git插件)来实现自动同步你的本地库与GitHub仓库。

步骤 2:在手机端设置Obsidian

方法1:使用Obsidian Git插件
  1. 安装Termux

    • 在你的Android手机上,打开Google Play Store,搜索并安装Termux

    • 打开Termux,输入以下命令以安装Git:

pkg update
pkg install git

2.克隆GitHub仓库

1)打开刚刚安装的Termux,输入下面的命令请求获取存储访问权限,此时弹窗一个请求访问存储权限的弹窗,找到Termux 应用,打开访问权限

termux-setup-storage

 2)进入手机内部的存储目录,比如

cd /sdcard/Documents

或者自己新建一个Obsidian目录,再执行 cd /sdcard/Documents

3) 最后再克隆PC端在使用的同一个github代码库

git clone https://github.com/your-username/your-repository.git

注意:这里使用https的方式将代码库克隆到本地。因为笔者起初使用的是ssh 方式克隆到的本地,结果发现配置好obsidian git插件,自动推送和拉取代码后,报错UnknowTransportError: uses an unrecognized transport protocol: ssh。查了半天,发现目前手机端obsidian git插件对于不支持ssh

 来源:https://github.com/Vinzent03/obsidian-git#restrictions-of-the-mobile-version

在使用https拉取代码的时候会让输入用户名和密码,用户名是登录时的邮箱, 密码需要提前在github 主页的个人设置页面进行配置生成一个Personal Access Token,具体步骤如下:

  • 登录GitHub

    • 访问GitHub并登录你的账户。
  • 访问Token生成页面

    • 点击右上角的个人头像,选择Settings
    • 在左侧菜单中找到Developer settings,点击进入。
    • 选择Personal access tokens,然后点击Tokens (classic)
    • 点击Generate new token按钮,选择Generate new token (classic)
  • 配置Token权限

    • Note:为你的Token添加一个描述性名称(例如:“Termux GitHub Access”)。
    • Expiration:选择Token的过期时间(可以选择不设置过期时间,但建议定期更新)。
    • Scopes:选择合适的权限,例如:
      • repo:访问和管理你的公共和私人仓库。
      • workflow:访问和管理GitHub Actions工作流。
      • admin:repo_hook:管理仓库的webhook和服务。
      • gist:访问和管理Gist。
  • 生成Token

    • 点击Generate token
    • 保存你的Token:一旦生成,请立即将Token复制并妥善保存(例如保存在一个密码管理器中)。注意:这是你唯一一次可以查看完整的Token,页面刷新后将无法再次查看。

为了避免每次操作时重复输入用户名和Token,可以配置Git记住你的凭据。

使用Git Credential Helper

Git提供了凭据助手(Credential Helper),用于保存和缓存GitHub的凭据。

在Termux中执行以下命令:

git config --global credential.helper store

或者使用缓存助手(会在特定时间内缓存凭据):

git config --global credential.helper cache

设置完成后,首次使用时会要求输入凭据,并自动保存到本地。下次操作时无需再次输入。

安全存储Token(推荐)

你可以选择将Token安全存储在密码管理器或加密的凭据文件中,具体方法如下:

git config --global credential.helper 'cache --timeout=3600'
  • 上述命令配置了Git在1小时(3600秒)内缓存凭据。

如果希望更改存储的凭据,可以手动编辑Git凭据文件:

nano ~/.git-credentials
在文件中输入以下格式的信息:
https://your-username:your-personal-access-token@github.com

例如:

https://john_doe:ghp_abcdef1234567890abcdef1234567890abcdef12@github.com

 

配置Git默认用户名和邮箱

确保Git正确设置了你的全局用户名和邮箱,以便正确地标识提交者身份:

git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"

 完整过程示例:

# 打开Termux
termux-setup-storage# 更新包管理器
pkg update && pkg upgrade# 安装Git
pkg install git# 生成Personal Access Token并保存到密码管理器中# 克隆GitHub仓库
git clone https://github.com/john_doe/my-repo.git# 进入仓库目录
cd my-repo# 配置Git用户名和邮箱
git config --global user.name "John Doe"
git config --global user.email "john.doe@example.com"# 创建一个新的文件
echo "Hello, GitHub!" > newfile.md# 添加文件到暂存区
git add newfile.md# 提交更改
git commit -m "Add newfile.md"# 推送到远程仓库
git push origin main# 输入GitHub用户名和Personal Access Token进行身份验证
# 可以配置Git保存凭据以避免每次都输入

最后面的git add 、git commit 、git push可以不用,我们使用obsidian中的git插件实现自动推送

3.手机端在Obsidian中打开仓库

  • 打开Obsidian,选择Open folder as vault
  • 导航到/sdcard/Documents/your-repository文件夹。

4.手机端配置自动推送修改到远程

1)安装obsidian-git插件,配置方式和PC端基本一致,需要注意的是

 Obsidian Git插件最后面的 Authentication/Commit Author也得需要配置

Personal access token填写上以后是不会显示的。 

配置完以后就和PC端一样可以通过obsdian控制github仓库了

相关文章:

实现Obsidian PC端和手机端(安卓)同步

步骤 1:在PC端设置Obsidian 安装Obsidian和Git:确保你的PC上已经安装了Obsidian和Git。你可以从Obsidian官网和Git官网下载并安装。 克隆GitHub代码库:在PC上打开命令行(例如Windows的命令提示符或Mac/Linux的终端)&a…...

基于大模型的 Agent 进行任务规划的10种方式

基于大模型的 Agent 基本组成应该包含规划(planning),工具(Tools),执行(Action),和记忆(Memory)四个方面,本节将从 Agent 的概念、ReAct 框架、示例、以及一些论文思路来具体聊下任务规划的话题&#xff0c…...

计算机网络01

文章目录 浏览器输入URL后发生了什么?Linux 系统是如何收发网络包的?Linux 网络协议栈Linux 接收网络包的流程Linux 发送网络包的流程 浏览器输入URL后发生了什么? URL解析 当在浏览器中输入URL后,浏览器首先对拿到的URL进行识别…...

基于SpringBoot微服务架构下前后端分离的MVVM模型浅析

基于SpringBoot微服务架构下前后端分离的MVVM模型浅析 “A Brief Analysis of MVVM Model in Front-end and Back-end Separation based on Spring Boot Microservices Architecture” 完整下载链接:基于SpringBoot微服务架构下前后端分离的MVVM模型浅析 文章目录 基于Spring…...

44444444444

4444444444444444...

数据结构与算法-二分搜索树节点的查找

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、二分搜…...

C++|设计模式(七)|⭐️观察者模式与发布/订阅模式,你分得清楚吗

本文内容来源于B站: 【「观察者模式」与「发布/订阅模式」,你分得清楚吗?】 文章目录 观察者模式(Observer Pattern)的代码优化观察者模式 与 发布订阅模式 他们是一样的吗?发布订阅模式总结 我们想象这样一…...

计算机毕业设计选题推荐-学院教学工作量统计系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

人机交互不仅仅是科技问题

人机交互不仅仅局限于物理和数理科学的应用,还涉及到更广泛的管理、文理、哲学、艺术、伦理以及法律等领域。下面这些领域在人机协同和智能系统应用中扮演着重要角色: 智能系统在企业管理、资源分配、决策支持等方面的应用,可以帮助管理者优化…...

Lua Debug.GetInfo

在 Lua 中,debug.getinfo 函数的第一个参数指定了要获取信息的函数的级别。这个级别是一个整数,表示调用栈的深度。以下是一些常见的级别和它们的含义: - 1:当前函数(即调用 debug.getinfo 的函数)。 - 2&a…...

每日刷题(最短路、图论)

目录 游戏 思路 代码 魔法 思路 代码 P1364 医院设置 思路 代码 P1144 最短路计数 思路 代码 游戏 I-游戏_河南萌新联赛2024第(三)场:河南大学 (nowcoder.com) 思路 利用dijkstra去寻找起点到其余所有点的最短路径,当…...

远程服务器训练网络之tensorboard可视化

cd到tensorboard events存储的位置 启动tensorboard tensorboard --logdir./ 得到运行结果: TensorBoard 1.13.1 at http://work:6006 (Press CTRLC to quit) 创建tunnel映射到本地,在本地ssh,最好使用公网地址 ssh -N -L 8080:localhost:60…...

MySQL锁详解

锁是计算机在执行多线程或线程时用于并发访问同一共享资源时的同步机制,MySQL中的锁是在服务器层或者存储引擎层实现的,保证了数据访问的一致性与有效性。 MySQL锁: 按粒度分为:全局锁、表级锁、页级锁、行级锁。按模式分为&…...

面试问题记录:

1,hashmap扩容的时候,链表超长但不满足转变成红黑树的条件时: 【HashMap】链表和红黑树互相转换的几种情况和数组的扩容机制_hashmap红黑树转链表条件-CSDN博客 2,cglib与proxy区别 JDK 动态代理和 CGLIB 动态代理对比_动态代理…...

vue如何在组件中监听路由参数的变化

使用 watch 监听 $route 对象 的变化,从而捕捉路由参数的变化 beforeRouteUpdate 导航守卫 当前组件路由更新时调用 beforeRouteUpdate 钩子只在组件被复用时调用,即当组件实例仍然存在时。如果组件是完全重新创建的,那么应该使用 beforeR…...

antd中form表单校验文件上传

antd中文件上传需要单独设置this.model中得数据 this.$set(this.model, filePath,上传成功后返回得文件路径地址)...

商家转账到零钱2024最新开通必过攻略

微信支付商家转账到零钱功能申请设置了人工审核的门槛,本意是为了防止没有合规使用场景的商户滥用该功能,但这也让相当多的真实用户被一次次拒之门外。结合过去6年开通此类产品的经验,今天我们就以2024年最新的的商家转账到零钱的开通流程做一…...

2024全新Thinkphp聊天室H5实时聊天室群聊聊天室自动分配账户完群组/私聊/禁言等功能/全开源运营版本

全开源运营版本聊天室H5实时聊天室群聊聊天室自动分配账户完群组/私聊/禁言等功能 运营版本的聊天室,可以添加好友,建立群组,私聊,禁言功能 H5TP5.0mysqlPHP 源码开源不加密...

(一)javascript中class类

在 JavaScript 中使用 class 语法可以定义类的结构,其中可以包括静态属性/方法、私有属性/方法、公共属性/方法和受保护属性/方法。这些概念有助于封装和数据隐藏,使得代码更加模块化和安全。下面我会解释这些不同的属性和方法,以及如何在类中…...

【注意力MHA,MQA,GQA,MLA】

注意力机制优化简明图解 1. 多头注意力(MHA) 图示: Input --> [Attention Head 1]--> [Attention Head 2]--> [Attention Head 3]--> ...--> [Attention Head N]--> [Concatenate] --> Output公式: Outpu…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

C++ 设计模式 《小明的奶茶加料风波》

👨‍🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...