원클릭으로
git-release
自动化 GitHub/GitLab/Gitea 发布流程。使用场景:发布新版本、创建版本标签、更新 CHANGELOG。自动分析 Git 提交、更新 CHANGELOG.md、确定语义化版本号、创建 Git 标签、推送到远程并创建 Release
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
自动化 GitHub/GitLab/Gitea 发布流程。使用场景:发布新版本、创建版本标签、更新 CHANGELOG。自动分析 Git 提交、更新 CHANGELOG.md、确定语义化版本号、创建 Git 标签、推送到远程并创建 Release
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | git-release |
| description | 自动化 GitHub/GitLab/Gitea 发布流程。使用场景:发布新版本、创建版本标签、更新 CHANGELOG。自动分析 Git 提交、更新 CHANGELOG.md、确定语义化版本号、创建 Git 标签、推送到远程并创建 Release |
自动化 GitHub/GitLab/Gitea Release 发布流程,遵循语义化版本(Semantic Versioning)规范。自动分析 Git 提交记录并更新 CHANGELOG.md,然后确定合适的版本号并完成发布。
如果对话中已通过任意 git 技能确定过平台信息(平台 + owner/repo),直接复用,跳过本步骤。
首次检测时执行:
git remote get-url origin
解析 URL 判断平台:
github.com 域名 → 提取 owner/repogitlab.com 或自托管域名 → 提取 owner/repo<域名>/api/v1/version 检测是否为 Gitea 实例
owner/repo检测完成后记住平台信息,供后续 git 技能复用。
收集并计算所有发布所需信息,不执行任何写操作。
先获取最新 tag:
git describe --tags --abbrev=0 2>/dev/null
有 tag 时查看后续提交:
git log v1.2.3..HEAD --pretty=format:"%h %s" --reverse
无 tag 时查看全部提交:
git log --pretty=format:"%h %s" --reverse
对包含 ! 后缀的提交或需要检查 body 的提交,单独获取完整信息:
git log <hash> -1 --pretty=format:"%B"
| 类型 | CHANGELOG 分类 | 说明 |
|---|---|---|
feat / feature | Added | 新功能 |
fix / bugfix | Fixed | Bug 修复 |
! 后缀 / BREAKING CHANGE footer | Changed | 破坏性变更 |
以下类型默认不进入 CHANGELOG:refactor、perf、chore、docs、test、style。如果某个提交确实值得记录(如重大性能优化),可酌情归入 Changed。
破坏性变更检测:
!:feat!: 移除旧 API 或 feat(api)!: 移除旧端点BREAKING CHANGE: v1 端点不再可用Scope 处理:提交格式 type(scope): description → CHANGELOG/Release Notes 中显示为 scope: description
feat 类提交(无破坏性) → MINOR (x.Y.0)fix 类提交 → PATCH (x.y.Z)确定版本号后先与用户确认:
当前版本:1.2.3
分析了 X 个提交(自 v1.2.3 以来):
- 3 个 Added(新功能)
- 1 个 Changed(包括 1 个破坏性变更)
- 1 个 Fixed(Bug 修复)
推荐版本:v2.0.0(检测到破坏性变更)
确认版本号?(y/输入其他版本号)
用户确认版本号后才继续生成 CHANGELOG 和 Release Notes。
基于分类结果,准备 CHANGELOG.md 的变更内容(在内存中生成,不写入文件)。
条目格式:
scope: 格式:- api: 添加新接口- 新功能描述- **Breaking**: 变更说明## What's Changed
### Added
- scope: 新功能描述
### Fixed
- scope: Bug 修复描述
### Changed
- **Breaking**: 破坏性变更说明
**Full Changelog**: https://github.com/owner/repo/compare/vA.B.C...vX.Y.Z
格式要求:
## What's Changed(英文,保持历史版本一致性)### Added(新功能)、### Fixed(Bug 修复)、### Changed(其他变更)/-/compare/ 路径格式,Gitea 链接使用 /compare/ 路径格式(同 GitHub)将所有发布数据一次性展示给用户:
📦 发布预览
版本:v2.0.0(当前 v1.2.3)
提交:分析了 X 个提交(自 v1.2.3 以来)
--- CHANGELOG 变更 ---
(展示将写入 CHANGELOG.md 的完整 diff)
--- Release Notes ---
(展示完整的 Release Notes)
确认发布?可修改版本号、CHANGELOG 内容或 Release Notes。(y/n)
用户可要求修改任何部分,修改后重新预览,再次确认。用户明确确认后才进入步骤 3。
用户确认后,按顺序执行以下操作:
## [Unreleased] 替换为 ## [X.Y.Z] - YYYY-MM-DD## [X.Y.Z] 上方插入新的空 ## [Unreleased](保持 Keep a Changelog 规范)GitHub:
[X.Y.Z]: https://github.com/owner/repo/compare/vA.B.C...vX.Y.Z
[Unreleased]: https://github.com/owner/repo/compare/vX.Y.Z...HEAD
GitLab:
[X.Y.Z]: https://gitlab.com/owner/repo/-/compare/vA.B.C...vX.Y.Z
[Unreleased]: https://gitlab.com/owner/repo/-/compare/vX.Y.Z...HEAD
Gitea:
[X.Y.Z]: https://gitea.example.com/owner/repo/compare/vA.B.C...vX.Y.Z
[Unreleased]: https://gitea.example.com/owner/repo/compare/vX.Y.Z...HEAD
git add CHANGELOG.md
git commit -m "chore: release vX.Y.Z"
git tag -a vX.Y.Z -m "Release vX.Y.Z"
获取当前分支名后推送:
git branch --show-current
# 用输出的分支名执行:
git push origin <branch>
git push origin vX.Y.Z
GitHub:
gh release create vX.Y.Z \
--title "vX.Y.Z" \
--notes "$(cat <<'EOF'
...(格式化的 Release Notes)
EOF
)"
GitLab:
glab release create vX.Y.Z \
--name "vX.Y.Z" \
--notes "$(cat <<'EOF'
...(格式化的 Release Notes)
EOF
)"
自托管 GitLab 需先配置:glab config set host gitlab.example.com
Gitea:
tea releases create \
--tag vX.Y.Z \
--title "vX.Y.Z" \
--note "$(cat <<'EOF'
...(格式化的 Release Notes)
EOF
)"
自托管 Gitea 需先配置:tea login add --url=https://gitea.example.com --token=...
认证失败时:提供 Web UI 手动创建发布的链接,以及格式化的发布说明供复制粘贴。
| 场景 | 处理 |
|---|---|
| 不支持的 Git 平台 | 通知用户,询问是否仅执行 git tag/push |
| 没有未发布变更 | 通知用户并询问是否继续 |
| Git 工作区不干净 | 中止并要求用户先提交/暂存变更 |
| 认证失败(gh/glab/tea) | 提供 Web UI 备选方案和格式化内容 |
| 推送冲突 | 指示用户先 pull/rebase 再重试 |
| 未配置远程仓库 | 中止并要求用户先配置 |
创建符合规范的 git 提交消息,并在提交前 review 将提交的变更。优先遵循项目现有提交规范,支持 Conventional Commits 格式。使用场景:用户要求创建提交、编写提交消息、提交前检查变更
在 GitHub/GitLab/Gitea 上创建格式规范的 Issue。优先使用仓库 Issue 模板,支持 Bug 报告、功能请求等类型,自动生成结构化描述。使用场景:用户要求提交 issue、报告 bug、提出功能需求
使用 ddgr 在终端搜索 DuckDuckGo,返回结构化结果。支持站点限定、时间过滤、区域搜索。使用场景:用户要求搜索信息、查找文档、搜索特定网站内容
将指定目录下的 skills 通过符号链接安装到目标目录。支持单 skill 目录和多 skill 父目录,自动校验 SKILL.md 存在性。使用场景:安装技能、链接 skills 到指定目录
自动化处理 GitHub/GitLab/Gitea Issue 的完整工作流:获取 issue → 分支管理(含 worktree)→ 代码实现 → 提交 → 创建 PR/MR。使用场景:用户要求处理 issue、解决 bug、实现功能、贴了 issue 链接
Tauri 框架最佳实践指南。使用场景:Tauri 应用开发、代码审查、架构设计