自动提交Git 实现笔记同步

windows 需要自动提交 Git 可以借助 Windows任务计划程序 来实现使用。

具体操作可以按 Win 键然后搜索 任务计划程序 创建一个启动应用,每隔5分钟触发,others/run_push_git.vbs 即可自动提交。

如下是一个已经创建好的计划:

image-20211021095140249
image-20211021095140249

run_push_git.vbs 文件如下:

set shell=wscript.createObject("wscript.shell")  
run=shell.Run("C:\Apps\Git\bin\bash.exe D:\Notebook\others\auto_git.sh", 0)

为什么要用 .vbs 文件呢?

因为如果直接使用 sh 的话,会出现一个黑框一闪而过,所以在 windows 上使用这个文件中转一下。

真实逻辑在auto_git.sh

我的 bash 水平有限,只实现了功能,还有很多可以优化的地方,欢迎指教~

#!/bin/bash

dir="/d/Notebook"
cd $dir

#**************************************************
# 创建日志文件
log_dir=logs
log_file=$(date +%Y%m%d)_info.log
if [ ! -d $log_dir ]
then
 mkdir $log_dir
fi
if [ -d $log_dir ]
then
# mkdir logs
  cd $log_dir
  if [ ! -f $log_file ]; then
    touch $log_file
    echo $(date +%Y"."%m"."%d" "%k":"%M":"%S) >> $log_file
    echo "----------create log file success--------------" >> $log_file
  fi
fi
#**************************************************
##
today_log=$log_dir"/"$log_file

cd $dir
# 判断git 文件是否有变动
if [ -n "$(git status -s)" ]
then
  # 有变动 上传
  git add .
  git commit -m "got it"
  git push origin main
  echo $(date +%Y-%m-%d" "%H:%M:%S) " ==> done" >> $today_log
fi

​ 一个简单的自动提交就完成啦,他会在每 5 分钟自动提交改动,这样就可以做到笔记同步啦~

存在问题

  • 5分钟时间差的问题。不过5分钟时间还是够用了,急躁的盆友也可以把他改成更短的时间,一般3,5分钟已经足够啦。

好处

​ 这样的好处是不用去担心哪天这个笔记软件收费,那个笔记软件倒闭,所有的东西全部都掌握在自己手上。

​ 当然,虽然没有已有的笔记软件那么便捷,不过已经相去不多啦。

做笔记的核心还是做笔记,应该将更多的心思花在笔记上,我是习惯了 Typora ,就整了这么一条龙服务,大家按需取用哈,感谢收看,拜拜~