当前位置: 首页 > 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…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...