Git 打 Tag 上传 GitHub 遇到 SSH 超时,如何处理?

一次发布 v0.3.8 时,笔者在创建并推送 Tag 的过程中遇到了 SSH 连接超时:

text 复制代码
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

这类报错发生在连接 github.com 的 22 端口阶段,导致远程仓库无法读取,Tag 也未能正常推送。

01 | 再次执行脚本时的另一个限制

笔者随后再次执行发布脚本:

bash 复制代码
scripts/commit-to-github.sh --version 0.3.8

脚本提示:

text 复制代码
CHANGELOG.md must start '## 本次版本更新' with '### [Unreleased]'. Found: ### [0.3.8] - 2026-08-12

说明脚本要求 CHANGELOG.md 的"本次版本更新"部分保留 ### [Unreleased],而当前内容已经是 v0.3.8 的正式版本标题,因此无法继续按原流程执行。

02 | 直接分别推送提交与 Tag

在已有提交和 Tag 的前提下,可以分别执行 Git 推送命令:

bash 复制代码
git push origin HEAD

成功后,再推送指定 Tag:

bash 复制代码
git push origin v0.3.8

最终远程仓库已成功接收主分支提交与 v0.3.8 Tag:

text 复制代码
HEAD -> main
[new tag] v0.3.8 -> v0.3.8

遇到脚本校验不满足、但本地提交和 Tag 已准备完成时,按提交与 Tag 分开推送,能够完成这次发布。

关注我,和AI一起成长~