首先关键部位:
- 工作空间 data 文件夹
- git 程序
- 上面完工就万事俱备了
gitee 同步
- 新建私有仓库,此仓库数据存的就是你得思源数据目录里的东西
- 进行 git 授权
- 看来 D 大这个思源同步 data 目录里只是能保证数据有,但是想让家里电脑或者公司使用同一份,这不太现实,因为每打开一次不管你有没有改变数据,思源 data 数据对应的 git 目录就有改变,
甚至没有改动得笔记,配置文件都会有变更,git 同步终究对于思源来说只是备份,同步远远达不到完善,额……
#已有仓库 cd D:\SiYuanData git remote add origin https://gitee.com/cuijianzhe/ssgage.git git push -u origin master
写个同步程序
其实无非就是把 git 自己完成而已,这其中有一个问题,刚改完建议不要马上执行同步,因为
D:\siyuan\data\.siyuan\conf.json
这个文件好像还没修正好时间数据,需耐心等待他完成,不过我的程序已在等待……
import os import time from subprocess import call GIT_BASE_DIR = 'D:\siyuan' gitdate = time.strftime("%Y%m%d%H%M%S", time.localtime()) GIT_DIR_DATA = GIT_BASE_DIR + '\data\.siyuan\conf.json' choice_list = ['更新','上传'] def git_init(): os.chdir(GIT_BASE_DIR) git_init_cmd = "git init ." git_add_cmd = "git add -A" git_commit_cmd = "git commit -m {}".format(gitdate) git_pull_cmd = "git pull origin master" git_push_cmd = "git push origin master" call( git_init_cmd + "&&" + git_add_cmd + "&&" + git_commit_cmd + "&&" + git_pull_cmd + "&&" + git_push_cmd, shell=True ) def git_update(): os.chdir(GIT_BASE_DIR) git_pull_cmd = "git pull origin master" call( git_pull_cmd, shell=True ) def file_or_open(): try: with open(GIT_DIR_DATA, 'r') as f: context = f.read() return context except PermissionError as error: return False if __name__ == "__main__": while True: context = file_or_open() if context: for num, char in enumerate(choice_list): print(num, char) while True: git_num = input('配置修正已完成,请按照以上提示输入相应的序号:') if git_num == '0': git_update() time.sleep(5) break if git_num == '1': git_init() time.sleep(5) break else: print('输入错误,请重新输入') break else: print('正在尝试打开并修正配置文件,请稍等……') time.sleep(5)
如此,每次更新完后,手动执行一下程序即可,千万不要忘记哦……
还有,windows 可以打包,我已打包完成,直接点击一下 exe
即可。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于