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