Logseq电脑端+安卓端同步gitee或github
文章目录
- 0.初衷
- 1.电脑端
- 1.1 新建仓库
- 1.2 克隆项目,生成秘钥
- 1.3 添加图谱,选择文件目录,我是原本就有笔记,所以会如下所示。
- 1.4 下载脚本文件
- 1.5赋权限 (windows可跳过)
- 1.6 修改脚本命令
- 1.7 logseq设置同步
- 1.8 重启应用
- 2.安卓端
- 2.1 大致流程
- 2.2 下载软件安装
- 2.3 更新、下载包
- 2.4 设置git权限,ssh
- 2.5 赋予文件访问权限
- 2.6 拉仓库
- 2.7 添加图谱
- 2.8 添加脚本
- 2.9 添加快捷方式
- 3.使用提升
- 3.1 冲突解决
- 3.2 插件
0.初衷
逛了一圈,csdn上的教程都要收费才能看,为啥搞得门槛那么高?
那不如我就来一篇教程吧,做的过程中确实遇到不少麻烦,但还是顺利解决了。
1.电脑端
mac和windows是同样的同步方式,此处以gitee为例,因为国内gitee更稳定。
1.1 新建仓库
首先在gitee创建自己的仓库,注意改为私有,别被别人知道了,如下图所示。
1.2 克隆项目,生成秘钥
使用ssh的方式,并且在电脑端生成相应的秘钥和公钥,不管是mac端还是windows端,都是在当前用户目录下的.ssh文档中生成的,然后根据提示,配置到网页端即可。
克隆完毕后会出现一个空的,只带隐藏文件.git
的目录。
1.3 添加图谱,选择文件目录,我是原本就有笔记,所以会如下所示。
1.4 下载脚本文件
打开自动提交的脚本网址 ,下载文件,在hook目录下,将post-commit
和pre-commit
复制粘贴到本地的.git/hooks
目录下。
1.5赋权限 (windows可跳过)
如果是mac需要执行命令,将其变成可执行文件。
chmod +x ./pre-commit && chmod +x ./post-commit
1.6 修改脚本命令
如果是gitee 记得把post-commit
的命令改为git push origin master
,因为gitee默认的分支就是master,如果是github则不需要动,
1.7 logseq设置同步
打开 Logseq > 设置 > 版本控制 > 切换“启用 Git 自动提交”选项,可以更改自动提交的秒数,比如10s。
1.8 重启应用
10s后如果没有报错说明成功了,失败了请根据报错再看看是否与教程不同。
2.安卓端
2.1 大致流程
大致的流程是这样的,下载一个模拟linux环境的软件,安装git,ssh,秘钥,克隆仓库地址,logseq添加文件夹,最后通过脚本手动拉取或者推送仓库,实现手机端同步。
2.2 下载软件安装
首先我们需要做一些准备工作,下载这两个软件。
termux下载链接
termux-widget下载链接
termux主要是模拟linux环境的软件,可以下载一系列的小工具。
termux-widget主要是用来运行termux上的脚本,而不用我们一遍遍的敲代码拉取,推送。
2.3 更新、下载包
在termux界面中,输入apt update && apt upgrade
,更新版本。
安装ssh,pkg install openssh
安装git pkg install git
2.4 设置git权限,ssh
设置你的git用户名和邮箱,模板如下。
git config --global user.name "xxx"
git config --global user.email xxxx@example.com
接着生成ssh秘钥
ssh-keygen -t rsa
查看公钥
cat ~/.ssh/id_rsa.pub
在手机上将这一串公钥复制到gitee的设置界面中。
2.5 赋予文件访问权限
一般情况下,我们进入的目录会在~下,如果没有,也可以通过cd ~/
命令进入。
接着输入termux-setup-storage
,点确定,让termux可以访问我们手机上的文件。
2.6 拉仓库
接着进入 进入shared目录,输入cd ~/storage/shared/
。
我们可以查看之前的地址,拉取仓库。
然后进入my-logseq
目录,检查git是否能正常工作,比如输入git status
。
一般是有报错的,需要输入
git config --global --add safe.directory ~/storage/shared/my-logseq
以在该文件夹上启用 Git 操作。(你换成自己的地址)。
它可能会报红框里的错误,复制执行下即可。
再次尝试下git命令应该就能成功了。
2.7 添加图谱
这个是logseq里的叫法,其实就是按照电脑端的步骤,将文件添加到logseq中。
在这个文件夹下就能找到了,界面显示的内容就是shared文件夹下的。
2.8 添加脚本
我们进入 ~/
目录, 创建.shortcuts
文件夹。
cd .shortcuts
进入目录。
安装vim包
pkg install vim
使用vim命令,命名为 pull-note.sh
,
vim pull-note.sh
在里面编写下面内容。
#!/usr/bin/bash
source ~/../usr/bin/source-ssh-agent
cd ~/storage/shared/my-logseq #这里换成你的目录
git pull
接着再编写提交脚本
vim push-note.sh
#!/usr/bin/bash
source ~/../usr/bin/source-ssh-agent
cd ~/storage/shared/my-logseq #这里换成你的目录
git add -A
git commit -m "sync from android"
git push
2.9 添加快捷方式
保存退出后,就要用到我们之前安装的Termux Widget
软件了,它提供了一种快捷方式在手机桌面上调用脚本。
我用的是华为手机,两指往中间拉,弹出下面界面,点击服务卡片。
拉到最底下,窗口小工具。
找到Termux Widget,添加即可。
你会发现,在手机的最后,有下面的内容显示,就成功了。
这样,每次写完笔记就push一下,有笔记没更新就pull下就好。
注意,实际使用我发现,单单点击命令是无效的,还得在进termux才能让命令完全执行,所以我们可以在权限管理中,打开termux-widget的允许弹窗权限,它会打开termux执行命令,有无报错也会一目了然。
如果发现同步失败的,可以进入Termux 中查看,会有相应的报错信息的,说白了,这就是一个简易的调用命令的方式,不用想的那么复杂。
3.使用提升
3.1 冲突解决
在使用过程中,我经常会发现,手机端版本落后,导致最新笔记pull不下来,考虑到,大多情况下只会在电脑端记笔记,手机端记的较少,基本上读的较多,所以我们完全可以舍弃原本的提交,拉取远程最新笔记。
所以这就需要再新建一个脚本了。
手机端进入 ~/.shortcut
目录,新建use-remote.sh
文件,加入下面内容
#!/usr/bin/bash
cd ~/storage/shared/my-logseq
git fetch --all
git reset --hard origin/master
该命令先拉取最新的分支,然后将笔记强制设置为远程库的最新提交,如果说手机端笔记记了不少,那建议备份下,之后再做补充。
可能有同学问可以使用冲突合并啊,但有时候在手机端上确实不好操作,并不知道到底差异在哪里,这种做法在实际使用上更为靠谱,简单。
最后在Termux Widget快捷方式处,点击刷新,即可解决冲突。
ps:如果电脑端有冲突,比手机端解决来的方便很多,如果是手机端提交的代码比较重要,电脑端落后了,也可以使用上面的命令来解决。
3.2 插件
在电脑端使用的过程中,建议装一个git插件,有时候自动保存或者拉笔记没那么及时,可以在插件市场上安装git,使用也很方便,如下所示。
pull拉取最新提交,commit则是提交。
如果遇到什么问题可以给我留言,有时间我会回复的~
你选择记录什么,你才可能成为什么。记录、思考、总结多了之后,会慢慢形成一套自己的东西,也就逐渐沉淀为自己的价值观。
相关文章:

Logseq电脑端+安卓端同步gitee或github
文章目录 0.初衷1.电脑端1.1 新建仓库1.2 克隆项目,生成秘钥1.3 添加图谱,选择文件目录,我是原本就有笔记,所以会如下所示。1.4 下载脚本文件1.5赋权限 (windows可跳过)1.6 修改脚本命令1.7 logseq设置同步…...
【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit
1.问题描述 在App中供用户在地图上选择地址,目前在使用Map Kit结合geolocationManager逆地理编码时获取的地址信息描述不准确,希望能提供相应的Demo参考。 解决方案 Demo代码示例: getLocation() { let requestInfo: geoLocationManager.…...
【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 6
【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 6 文章目录 前言一、创建controller相关二、逻辑分析RRBotModularJoint类解析ros2_control.xacro解析三、测试运行测试forward_position_controller总结前言 本篇文章在上篇文章的基础上主要讲解双轴机器人驱…...

Learn OpenGL 07 摄像机
定义摄像机参数 glm::vec3 cameraPos glm::vec3(0.0f, 0.0f, 3.0f);//摄像机位置glm::vec3 cameraTarget glm::vec3(0.0f, 0.0f, 0.0f);glm::vec3 cameraDirection glm::normalize(cameraPos - cameraTarget);//摄像机方向,指向z轴正方向 glm::vec3 up glm::vec…...

Linux系统部署火狐浏览器结合内网穿透实现公网访问
目录 前言 1. 部署Firefox 2. 本地访问Firefox 3. Linux安装Cpolar 4. 配置Firefox公网地址 5. 远程访问Firefox 6. 固定Firefox公网地址 7. 固定地址访问Firefox 结语 前言 作者简介: 懒大王敲代码,计算机专业应届生 今天给大家聊聊Linux系统…...

Elastic Stack--05--聚合、映射mapping
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.聚合(aggregations)基本概念桶(bucket)度量(metrics) 案例 11. 接下来按price字段进行分组:2. 若想对所…...

【嵌入式——QT】Model/View
【嵌入式——QT】Model/View 基本原理数据模型视图组件代理Model/View结构的一些概念QFileSystemModelQStringListModelQStandardItemModel自定义代理 基本原理 GUI应用程序的一个很重要的功能是由用户在界面上编辑和修改数据,典型的如数据库应用程序,数…...
向量化编程书籍推荐
文章目录 1. 书籍清单 1. 书籍清单 《Linear Algebra and Its Applications》 by Gilbert Strang 这本书是线性代数的经典教材,线性代数是向量化编程的基础。它涵盖了向量、矩阵、线性变换等内容,对理解向量化编程的数学概念非常有帮助《NumPy Beginner…...
算法D43 | 动态规划5 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
1049. 最后一块石头的重量 II 本题就和 昨天的 416. 分割等和子集 很像了,可以尝试先自己思考做一做。 视频讲解:动态规划之背包问题,这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II_哔哩哔哩_bilibili 代…...

设计模式—桥接模式
定义: 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interfce)模式。 本章代码:小麻雀icknn/设计模式练习 - Gitee.com 结构: 抽象化(Abstraction)角色:…...
伊萨卡训练代码
我们建议创建并激活 conda 环境,以确保在下面安装正确的软件包版本的干净环境。 # Optional but recommended: conda create -n ithaca python3.9 conda activate ithaca 克隆此存储库并进入其根目录。通过以下方式安装完整的 ithaca 依赖项(包括训练&am…...
视频产品介绍:AS-VCVR-N多协议视频接入网关
目 录 一、产品概述 (一)非标设备接入 (二)信令流转换 (三)媒体流转发 二、网关特性 三、技术参数 一、产品概述 视频接入网关服务是终端用户与视频源的传输枢纽,实现把前端不同…...

大型网站架构演化总结
本文图解大型网站架构演化。 目录 1、单一应用服务阶段 2、应用与数据服务分离阶段 3、利用缓存提高性能阶段 4、应用服务集群阶段 5、数据库读写分离阶段 6、反向代理与CDN加速阶段 7、分布式数据库阶段 8、 NoSQL与搜索引擎阶段 9、业务拆分阶段 10、分布式服务阶…...

5G智能制造纺织工厂数字孪生可视化平台,推进纺织行业数字化转型
5G智能制造纺织工厂数字孪生可视化平台,推进纺织行业数字化转型。纺织工业作为传统制造业的重要组成部分,面临着转型升级的紧迫需求。随着5G技术的快速发展,智能制造成为纺织工业转型升级的重要方向。数字孪生可视化平台作为智能制造的核心技…...

仿牛客网项目---Elasticsearch分布式搜索引擎
1.什么是ElasticSearch分布式搜索引擎? Elasticsearch是一个开源的分布式搜索引擎,提供实时的、高可用性的搜索和分析解决方案。它支持快速索引和搜索大规模数据,具有分布式架构、RESTful API、基于JSON的查询语言等功能,适用于各…...

macbook pro 2018 安装 arch linux 双系统
文章目录 友情提醒关于我的 mac在 mac 上需要提前做的事情复制 wifi 驱动 在 linux 上的操作还原 wifi 驱动连接 wifi 网络磁盘分区制作文件系统挂载分区 使用 archinstall 来安装 arch linux遗留问题 友情提醒 安装 archl linux 的时候,mac 的键盘是没法用的&#…...

虚拟机安装CentOS教学,超详细一步安装到底!
首先将Centos的镜像文件进行下载,随后再进行安装配置: https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.8.2003/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso 1.打开VMware,新建虚拟机,选择典型安装,点击下一步 2.选择稍…...

“2024杭州智慧城市及安防展会”将于4月在杭州博览中心盛大召开
2024杭州国际智慧城市及安防展览会,将于4月24日在杭州国际博览中心盛大开幕。这场备受瞩目的盛会,不仅汇集了全球智慧城市与安防领域的顶尖企业,更是展示最新技术、交流创新理念的重要平台。近日,从组委会传来消息,展会…...

【C++庖丁解牛】模拟实现STL的string容器(最后附源码)
📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.vs和g下string结构…...

不要在代码中随便使用try...catch了
前言 📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步! 🍅 个人主页:南木元元 目录 背景 js中的try...catch try...catch运行机制 js的事件循环机制 try...c…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...