diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index 8ae2aa6..fff8ca2 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -26,7 +26,5 @@ jobs: uses: wagoid/commitlint-github-action@v6 with: configFile: .commitlintrc.json - # PR 上检查 base..head 之间所有 commit;push 上只校验最新 commit - firstParent: false failOnWarnings: false helpURL: https://github.com/JefferyHcool/BiliNote/blob/develop/CONTRIBUTING.md#5-提交规范 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5085696..5f95d0b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -250,6 +250,7 @@ chore(ci): 优化 docker 构建缓存 - `feature/*` / `fix/*` 合入 `develop`:推荐 **Squash and merge**,保持 develop 历史线性。 - `release/*` 合入 `master` 与回灌 `develop`:使用 **Merge commit (--no-ff)**,保留发版结构。 + · merge commit 标题用 `chore(release): vX.Y.Z`(合 master)或 `chore(release): merge release/X.Y.Z back into develop`(回灌 develop),保证 commitlint 通过。 - `hotfix/*` 同上 release。 ### 6.4 合并后 diff --git a/RELEASING.md b/RELEASING.md index 8a46202..ad47892 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -42,10 +42,13 @@ git push -u origin release/X.Y.Z 在 GitHub 上发起两个 PR: -| PR | base | 合并方式 | -|---|---|---| -| `release/X.Y.Z` → `master` | `master` | **Merge commit (--no-ff)** | -| `release/X.Y.Z` → `develop` | `develop` | **Merge commit (--no-ff)** | +| PR | base | 合并方式 | 合并后 commit 标题 | +|---|---|---|---| +| `release/X.Y.Z` → `master` | `master` | **Merge commit (--no-ff)** | `chore(release): vX.Y.Z` | +| `release/X.Y.Z` → `develop` | `develop` | **Merge commit (--no-ff)** | `chore(release): merge release/X.Y.Z back into develop` | + +> ⚠️ Merge commit 的标题**必须**符合 `type(scope): subject` 格式(commitlint 在 push 到 master/develop 时会校验)。 +> 历史上用过 `Release vX.Y.Z` 这种形式,会被 commitlint 报 `type-empty` / `subject-empty`。 `master` 分支保护要求 review 通过。回灌 `develop` 是为了把发版冻结期内的小修同步回来。