·
编程学习 ·
190547
如果换了电脑该如何同步Hexo的源文件?把hexo文件从一个电脑cope到另外一个电脑吗?答案肯定不是这样的,因为这里面有好多依赖包,好几万个文件呢,这样显然不合理。
本文提供一种多台电脑同步源文件的方法。
0 解决思路
使用GitHub的分支!在博客对应的仓库中新建一个分支。一个分支用来存放Hexo生成的网站原始的文件,另一个分支用来存放生成的静态网页。
1 创建分支
1.1 创建新分支
命令行操作:
GitHub操作:
点击branch按钮,输入新的分支名source,点创建。
1.2 设置默认分支
准备在source分支中存放源文件,master中存放生成的网页,因此将source设置为默认分支,方便同步文件。
在仓库->Settings->Branches->Default branch中将默认分支设为source,save保存
2 源文件上传到GitHub
选好一个本地文件夹,执行
git clone git@github.com:Simon-Ace/Simon-Ace.github.io.git(替换成你的仓库)
在克隆到本地的Simon-Ace.github.io中,把除了.git 文件夹外的所有文件都删掉
把之前我们写的博客源文件全部复制过来,除了.deploy_git
复制过来的源文件应该有一个.gitignore,用来忽略一些不需要的文件,如果没有的话,自己新建一个,在里面写上如下,表示这些类型文件不需要git:
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
注意,如果你之前克隆过theme中的主题文件,那么应该把主题文件中的.git文件夹删掉,因为git不能嵌套上传。
提交更改
git add .
git commit –m "add branch"
git push
参考文章:
https://juejin.im/post/5acf22e6f265da23994eeac9
https://www.zhihu.com/question/21193762
Hexo多台电脑同步的相关教程结束。
异步生成器需用asyncdef+asyncyield,且内部只能混用await和yield,不能含同步阻塞调用;返回async_generator,须用asyncfor遍历,I/O操作需替换为异步版本(如aiofiles),CPU密集型任务应交由run_in_executor处理。 asyncdef...
直接用subprocess调用git命令同步GitLab和GitHub是轻量、可控、不依赖第三方库的可靠方案,核心三步:裸克隆→添加远程→gitpush--mirror,支持全分支、标签及完整历史同步,且避免API封装带来的繁琐遍历与权限管理。 直接用subprocess调用git命令同步GitLa...
最稳方案是用oss2库的put_object_from_file:三行代码完成上传,自动分片、断点续传;endpoint须带https://且地域严格匹配;文件夹同步需手动遍历+去重校验,超10万文件应改用ossutilsync。 用oss2.Bucket.put_object_from_file同...
tqdm在异步任务中不自动更新是因为其默认依赖同步阻塞机制,而asyncio需显式让出控制权或借助tqdm.asyncio/队列机制触发display()。 为什么tqdm在异步任务里不自动更新? tqdm默认依赖同步的time.sleep或阻塞式迭代来触发进度条刷新,而asyncio任务在事件循环...
run_in_executor是绕过阻塞的首选方案,因它将同步函数移交线程池/进程池执行,避免阻塞事件循环;I/O密集型用默认ThreadPoolExecutor,CPU密集型须显式传ProcessPoolExecutor,并必须await等待结果。 为什么run_in_executor是绕过阻塞的...
MirroredStrategy的梯度同步并非真正“自动完成”,因其依赖严格的作用域约束:模型构建、编译、数据集分发(需experimental_distribute_dataset)、训练执行(fit或自定义循环)均须在strategy.scope()内,否则梯度无法被策略接管而致同步失效。 为什...
本文详解如何基于LangChain+FastAPI构建支持答案流式输出与源文档结构化返回的RAG服务,避免重复检索、确保低延迟,并通过SSE(Server-SentEvents)统一传输生成内容与元数据。 本文详解如何基于langchain+fastapi构建支持**答案流式输出**与**源文档结构...
watchfiles更适合异步场景,因其原生基于asyncio设计,直接返回异步迭代器,无需线程模拟或executor封装;而watchdog依赖同步事件循环和轮询线程,强行接入async代码易引发未await警告、异常丢失或阻塞问题。 watchfiles为什么比watchdog更适合异步场景 因...