update-theme.ts 是一个用于从上游仓库(Upstream Repository)同步并更新主题代码的自动化脚本。它简化了 Git 远程仓库的管理和合并流程。
功能特性
- 自动配置远程仓库:如果本地没有配置
upstream,脚本会自动添加官方主题仓库地址。 - 一键同步:自动执行
fetch和merge操作。 - 冲突检测:如果合并过程中出现冲突,脚本会发出警告并提示用户手动解决。
- 状态反馈:清晰地告知用户当前是否已经是最新版本。
使用方法
在终端中运行以下命令:
pnpm update-theme工作原理
- 检查 Remote:运行
git remote get-url upstream。如果失败,则运行git remote add upstream https://github.com/radishzzz/astro-theme-retypeset.git。 - 获取更新:执行
git fetch upstream获取最新的提交记录。 - 执行合并:
- 记录当前的 Commit Hash。
- 执行
git merge upstream/master --allow-unrelated-histories。
- 结果判断:
- 如果 Hash 未变,提示 “Already up to date”。
- 如果 Hash 改变,提示 “Updated successfully”。
- 如果存在
.git/MERGE_HEAD,提示存在冲突。
注意事项
- 提交更改:在运行此脚本前,请确保你本地的所有更改都已经提交(Commit),否则 Git 可能会拒绝合并。
- 手动解决冲突:如果脚本提示有冲突,你需要使用 VS Code 或其他工具手动处理冲突文件,然后提交。