TohsakaRinzの藏身处
首页项目归档照片墙音乐灵境说说杂谈友链关于
封面

XHBlogs 后台迁移记:Python 3.13、Git 配置与恢复同步

写作时间:2026-10-22
# XHBlogs
# Python
# GitHub
# 故障记录

当前状态:控制面板已经能够启动,GitHub 同步已恢复。以下是迁移过程的复盘,不是一键通用修复教程。

一件比想象中麻烦的事

我的个人博客仍然保留着源码与配置,但运行控制面板的旧电脑出了问题。换了新电脑并重新下载 XHBlogs 的 my-blog-manager 之后,后台最开始无法正常打开:双击启动脚本,命令行窗口一闪而过。

我怀疑是 Python 版本造成的——旧电脑曾在安装 Python 3.10 后正常运行,而新电脑使用 Python 3.13。我不想为了一个项目拆掉现有开发环境,于是选择从启动脚本的兼容性入手。

第一层:启动脚本

阅读 Start.bat 后发现,它优先查找 Python 3.10,并使用不够可靠的批处理版本解析逻辑。更严重的是,启动错误没有被好好保留,用户甚至来不及读到报错。

思路就变成:用实际解释器判断版本、保留错误输出、先完成依赖检查,再启动控制台。这样即便问题仍存在,至少能知道它在哪一层失败。

第二层:后台配置并不会自动跟随网站同步

后来我发现,新下载的控制面板仍带着作者默认的个人资料,而我自己的博客配置已经保存于 GitHub 的网站仓库。

原因不是神秘的数据丢失,而是系统里存在两份 siteConfig.ts:网站前端一份,本地管理器又一份。它们的内容需要明确同步,不能指望重新下载控制面板就自动恢复个人设置。

第三层:Git 有多个互相独立的前提

第一次上传报 HEAD does not match any;之后又遇到仓库 URL 格式错误。排查时我逐一检查了:

  • 博客物理路径是否真的是网站源码目录。
  • HEAD 是否存在、当前分支是否正常。
  • 控制面板保存的 sourceRepoUrl 是否符合 Git URL 格式。
  • 新电脑是否配置 Git 提交用户名和邮箱。
  • 控制面板有没有吞掉 git commit 的真实报错。

最终这套同步功能重新恢复正常。准确原因并不只是某个按钮没点对,而是迁移后的本地环境、控制面板配置与仓库状态需要一致。

这次之后我想改掉什么

以后后台应该在“同步”之前给出一次体检:本地路径、提交身份、远程地址、预期分支、待提交内容和可能删除的文件。检查不过就停下来,并明确告诉使用者为什么。

能用固然重要,但知道它为什么能用,才是真正完成一次迁移。

avatar

TohsakaRinz

喜欢折腾赛车服务器、旧硬件、车机与 AI 工具,记录开发、设计和排障中的发现。

RECOMMENDED

这里是我的数字工坊:一份写给访问者的导航

2026-10-22

CiRCLE Wangan:把首都高交通服做成真正可管理的系统

2026-10-12

CiRCLE Garage 2.0:把车型列表重新设计成可视化车库

2026-10-15

Table of Contents