关于 ShareX Workflow and Versioning
ShareX Workflow and Versioning 是为 XerahS 贡献者制定的仓库技能,规范 Git、提交和版本管理。内容包括版本依据、版本递增、提交前检查以及提交和推送流程。
主要功能
- 01版本依据与标签检查
- 02语义化版本递增规则
- 03提交前构建检查
- 04提交消息规范
- 05Git 钩子和推送流程
适用场景
- 01准备带版本号的 XerahS 提交
- 02递增应用版本
- 03提交并推送仓库更改
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sharex/ xerahs --skill sharex-workflow-and-versioning安装后在 Claude Code 中输入/sharex-workflow-and-versioning确认已加载。
详细介绍
范围
本文件是涉及以下内容的 Git 和版本管理规则的唯一事实来源:
- 提交和推送工作流
- 提交消息格式
- 版本升级行为
Directory.Build.props更新
本文件取代已弃用的 docs/development/RELEASE_PROCESS.md。
版本唯一事实来源
- 将根目录的
Directory.Build.props文件视为 XerahS 应用版本的工作版本唯一事实来源。 - 在进行任何带版本号的 XerahS 提交前,将根目录版本与现有最高的 XerahS Git 标签进行比较。
- 如果根目录版本未严格高于最新标签,先升级根目录版本,确保分支使用下一个未发布版本。
- 切勿在单独的
.csproj文件中设置版本号。 - 升级版本时,更新仓库中每个有意记录 XerahS 应用版本的受跟踪
Directory.Build.props,使其值保持一致。 - 派生的发布元数据文件(例如
build/windows/chocolatey/xerahs.nuspec)必须在发布自动化期间与根目录版本同步。 - 带标签的发布也会生成并对 Chocolatey
.nupkg进行冒烟测试,因此build/windows/chocolatey/下的发布元数据必须便于自动化处理。
版本升级策略
- Bug 修复:仅递增补丁版本(
0.0.z规则:保持主版本和次版本不变,递增z)。 - 新功能:递增次版本并将补丁版本重置为 0。
- 重大变更:递增主版本并将次版本和补丁版本重置为 0。
必需的提交前检查
提交和推送前:
git pull --recurse-submodules
git submodule update --init --recursive
dotnet build src/desktop/XerahS.sln
仅当构建成功且错误数为 0 时才继续。
提交和推送流程
- 暂存更改:
git add .
- 使用以下命令提交:
git commit -m "[vX.Y.Z] [Type] concise description"
- 推送:
git push
提交消息规则
- XerahS 应用提交的前缀应使用根目录
Directory.Build.props中的<Version>,格式为[vX.Y.Z];但仅在确认该版本严格高于现有最高 XerahS Git 标签后才能使用。 - 切勿使用低于或等于最新标签的版本前缀。如果最新标签已达到或高于根目录版本,先升级
Directory.Build.props,然后使用升级后的版本提交。 - 添加类型标记,例如
[Fix]、[Feature]、[Build]、[Docs]、[Refactor]。 - 描述应简洁具体。
- 仅涉及共享库的子模块提交(例如
ShareX.ImageEditor):省略[vX.Y.Z];按照AGENTS.md使用[Type] description格式。
Git 钩子要求
- 保持
.githooks启用(git config core.hooksPath .githooks)。 - 除非明确要求紧急使用,否则不要通过
--no-verify绕过钩子。 - 如果钩子执行失败,请修复问题并重新提交。
文档和 Git
- 将 Markdown 文档更改与相关代码/配置更改一并提交。
- 如果生成的指令文档属于所请求的工作内容,不要将其留在未提交状态。
评论
支持 Markdown