很多人喜欢使用 typora 做笔记,不过这个没有自动同步的功能,但是加上 git 之后,就能够拥有一个能自动同步的笔记软件了,无论是在手机上还是在电脑上看笔记的体验都非常好
效果
电脑
手机
使用步骤
建一个git仓库,这个不用多说,用过git的都会
typora设置
这样设置就能在git上方便查看图片了
创建一个自动提交的脚本,文件名以 .sh 结尾,例如gitauto.sh
cd /Users/jc/code/note/
git add .
git commit -m "auto save"
git pull origin master
git push -u origin master
其中 /Users/jc/code/note/ 是本地仓库的绝对路径
创建crontab任务
打开终端,输入命令
crontab -e
回车后进入编写页面
在页面中添加如下命令
0/20 * * * * /Users/jc/Desktop/gitauto.sh >>/Users/jc/Desktop/gitlog.txt 2>&1
其中 0/20 * * * * 是cron表达式 ,这里表示每二十分钟执行一次,不懂的可以自己去搜搜 crontab 的 cron怎么写
/Users/jc/Desktop/gitauto.sh 表示的是前面我们脚本存放的绝对路径。
>>/Users/jc/Desktop/gitlog.txt 这段含义是,将脚本执行的日志输入到 gitlog.txt中
2>&1 表示把错误的日志也输入到 gitlog.txt 中
重定向日志的目的是能更好的观察git命令的执行情况。而且如果不重定向的话,crongtab在每次执行后都会发送一封邮件给系统,长此以往将占用很大的空间,而将日志输出到 gitlog.txt 中我们可以很方便的清除日志。
:wq 保存之后会有个提示,确定就行
结束。
容易出错的地方
fatal: could not read Username for 'https://gitee.com': Device not configured
假如本地git配置了多个仓库,有多个账号,如果笔记的用户名和email不和git全局的一样,可能会报如下错误
fatal: could not read Username for 'https://gitee.com': Device not configured
这时候,我们进入本地笔记所在的文件夹,修改git的配置文件(默认在 .git 文件夹中,在笔记仓库所在的文件夹 使用 ls -a 就能看到),在远程地址中插入用户名和密码
修改这个文件夹中的config文件
cd .git
vi config
修改这一行
格式为 https://用户名:密码@git远程仓库的地址
例如:
https://ttkx:123456@gitee.com/JC778899/note.git
假如用户名有@符号,需要将其转义为 %40
crontab operation not permitted
假如在日志中看到这个错,那么大概是因为没有给cron权限。
给权限的方法为: