# Commit
**commit ** `tool/release/notes.sh` GitHub
release commit
commit **** rebase
`tool/check/commits.sh` CI gate
---
## `tool/commit.sh`
```sh
tool/commit.sh
```
**git hook ** `tool/dev/setup.sh` `.githooks`
`tool/run.sh` `pre-commit` `pre-push`
****
| hook | | |
|---|---|---|
| `pre-commit` | `tool/commit.sh --no-check` | stage `main` merge commit commit |
| `pre-push` | refs `tool/commit.sh --push` | ** base** CI gatetag `main` |
** base blocker**
** rebase rebase
`--no-verify`
`git commit --no-verify` / `git push --no-verify`
**agent ** commit
stage fetch
| | **** |
|---|---|
| HEAD base | `main` `origin/main` |
| base merge commit | CI rebase |
| staged / unstaged / untracked | CI stage runner |
| stage | `build/``.dart_tool/``build_info.g.dart` |
| feature | `` scope |
| | `Platform:` trailer |
| ARB | key |
| | `Category` |
| commit gate | rebase |
| CI gate | push rebase |
** `.github/workflows/ci.yml` **`tool/check.sh`
| | |
|---|---|
| | 50 |
| | ** 1 ** |
key **** mtime`dart format`
checkout mtime `git switch`
byte
8 key
****
```sh
tool/commit.sh --message #
tool/commit.sh --no-check # gate
DPIP_NO_CACHE=1 tool/commit.sh #
```
****
[ commit ](#-commit-) feature
---
##
```
():
():
():
```
`git log` trailer
****
---
##
```
feat(mesh): show the radio's own packet counters
type scope
```
### type
| type | | |
|---|---|---|
| `feat` | | |
| `fix` | | |
| `perf` | | |
| `refactor` | | |
| `docs` | | |
| `test` | | |
| `build` | | |
| `ci` | workflowgate | |
| `style` | | |
| `chore` | | |
| `revert` | commit | |
** type **
- `build:`
`build: cut releases from tags` Play track
production
- 142 `docs:`
### scope
`mesh` `map` `weather` `eew` `notify` `location`
`home` `changelog` `settings`
** scope**
###
- ** ASCII**
- ****`add``fix``stop``show` `added``fixes``adding`
- ****`commit message rules` `define a bilingual commit format`
- **72 ******
- ****
---
##
**** `Category(locale): `
`tool/release/notes.sh`
```
feat(map): overlay radar echo on the map
New(zh-Hant):
New(en-US): the map can overlay radar echo
```
###
```
New(zh-Hant):
```
| | |
|---|---|
| `New` | |
| `Optimization` | |
| `Fix` | |
** `` ** `chore:` commit
`Fix(...)`
###
| | |
|---|---|
| **** | `zh-Hant``en-US` |
| | `zh-Hans` `zh-Hant-HK` `ja-JP` `ko-KR` `th-TH` `vi-VN` `id-ID` `fil-PH` |
app
app
**gate **
###
****
```
New(zh-Hant): changelog repository
New(zh-Hant):
```
- ****`ETag``domain `` gate` diff
-
- commit ****
[ commit ](#-commit-)
### commit
`docs` `test` `build` `ci` `style` `chore` `refactor`
`feat` / `fix` / `perf` ****gate
---
##
trailer****
```
fix(notify): stop the crash when Android 14 starts the service
Platform: android
Android 14 requires a foregroundServiceType on every start
```
- `android` `ios`gate
- ****
-
---
## commit
** gate **
review
###
- ** commit **A B
- revert revert
- `git bisect`
###
| | |
|---|---|
| **and** | `show one language and draw the tags locally` |
| **** | `cut releases from tags, notes from commits, symbols from both` |
| **** | |
| ******** | `AGENTS.md` + `tool/check/commits.sh` |
| ** type** | `fix` `feat` |
`fix: stop A and B from racing`
###
```sh
git reset --mixed HEAD~1 # commit
git add
git commit
git add
git commit
```
commit commit
---
## gate
- **`Co-Authored-By:`**
- ****`Generated with`agent
commit
---
##
### Android
```
fix(notify): stop the crash when Android 14 starts the service
Platform: android
Fix(zh-Hant): Android 14 app
Fix(en-US): fix the app crashing on the first earthquake alert after an
upgrade on Android 14
```
### commit
```
perf(changelog): fetch one page at a time
Optimization(zh-Hant):
Optimization(en-US): the changelog loads a page at a time and opens faster
Fix(zh-Hant):
Fix(en-US): a failed page no longer clears the list already on screen
```
###
```
fix(changelog): show one language instead of both
Fix(zh-Hant):
Fix(en-US): the changelog no longer shows both languages at once
Fix(ja-JP):
```
###
```
chore(deps): bump the pubspec lockfile
ci: cache the Swift package resolution
```
###
```
New(zh-Hant): changelog repository cursor pageSize
domain gate presentation data
```
** diff **
---
##
`Category` **** commit ``
** `` **
`` app
`` HTMLapp Markdown
**** commit
`Co-authored-by:` trailer SHA GitHub commit
git GitHub
@
rebase main commit
**main squash 282 ** trailer
note `c5fdbd31`
| | | |
|---|---|---|
| **** `26w33a` | tag | |
| **** `26.1` | **** | `26.1` `26.2` |
****
****
```
- @whes1015 `26w33b`
- iOS @whes1015
```
****
GitHub CI API ** git ** @
`tool/release/notes.sh`
> ** rebase **squash merge commit repo
> commit commit SHA
> squash SHA
---
## rebase
CI `ci.yml` Branch is rebased on the base
| | |
|---|---|
| **merge commit** | `check_commits.sh` `--no-merges` merge ** merge ** merge gate |
| **** base | main gate |
```sh
git fetch origin
git rebase origin/main
git push --force-with-lease
```
**PR CI ** gate
`github.event.pull_request.head.sha` checkout
pull request base merge gate
### gate commit PR
**PR ** commit
`Fix/version week`
** rebase** repo
Settings Pull requests `Allow rebase merging` main
gate commit
squash main
`332fb8f3 Fix report (#529)` commit
---
##
CI
```sh
git rebase -i # reword
git push --force-with-lease
```
`--force-with-lease` `--force`
`--force`
```sh
tool/check/commits.sh origin/main..HEAD
```