git-commit
npx skills add https://github.com/krissss/skills --skill git-commit
Agent 安装分布
Skill 文档
Git æäº¤æ¶æ¯
åè½æ¦è¿°
åå»ºæ¸ æ°ãè§èç git æäº¤æ¶æ¯ãä¼å éµå¾ªé¡¹ç®ç°æçæäº¤åå²åæ ¼å¼è§èï¼å ¶æ¬¡åè Conventional Commits æ åãç¡®ä¿æäº¤æ¶æ¯ç®æ´ãä¸è´ä¸æäºçè§£ã
å¿«éæ£æ¥æµç¨
æ¥éª¤ 1ï¼å¿«éç¡®å®é¡¹ç®è§èï¼é¦æ¬¡ä½¿ç¨ï¼
ä» å¨é¦æ¬¡ä½¿ç¨æé¡¹ç®è§èæªç¥æ¶æ§è¡ï¼
# æ¥çæè¿ 5 æ¡æäº¤å³å¯
git log -5 --pretty=format:"%s"
å¿«é夿ï¼
- ç±»ååç§°ï¼
featæfeatureãfixæbugfix - è¯è¨ï¼ä¸ææè±æ
- Issue å¼ç¨ï¼subject 䏿 footer ä¸
ç¼åå¤æç»æï¼åç»æäº¤æ ééå¤åæã
æ¥éª¤ 2ï¼è¯å«åæ´å 容
# æ¥çå½ååæ´
git diff --stat
夿忴æ¯å¦å±äºå䏿¨¡åï¼
- 妿 ä¸ç¸å ³å 容ï¼ç´æ¥è¿å ¥æ¥éª¤ 3
- 妿ä¸ç¸å ³å 容ï¼åè”æºè½è¯å«åæ´å 容”ç« èçå¤çæ¹æ³
æ¥éª¤ 3ï¼æ£æ¥æ¯å¦éè¦åå¹¶æäº¤
git status
git log @{u}..HEAD --oneline 2>/dev/null
- 妿 é¢å æäº¤ï¼ç´æ¥è¿å ¥æ¥éª¤ 4
- 妿é¢å æäº¤ï¼åè”åå¹¶ç¸ä¼¼æäº¤”ç« èçå¤ææ¹æ³
æ¥éª¤ 4ï¼å¿«éçææäº¤æ¶æ¯
åºäºç¼åçè§èååæ´å 容快éçææ¶æ¯ï¼æ é详ç»åæã
ä¼å éµå¾ªé¡¹ç®ç°æè§è
æ£æ¥é¡¹ç®æäº¤é£æ ¼
# ä»
æ¥çæè¿ 5 æ¡æäº¤
git log -5 --pretty=format:"%s"
ç¡®å®é¡¹ç®è§è
- ç±»ååç§°ï¼
featvsfeatureãfixvsbugfix - Issue å¼ç¨ï¼subject ä¸ï¼
feat: #123 xxxï¼æ footer ä¸ï¼Closes #123ï¼ - è¯è¨é£æ ¼ï¼ä¸ææè±æ
- æ ¼å¼å®½æ¾åº¦ï¼æ¯å¦ä¸¥æ ¼éµå¾ªæç§è§è
è¯è¨éæ©
ç»è®¡æè¿æäº¤ï¼ä¸æå 夿°ç¨ä¸æï¼å¦åç¨è±æã
éµå¾ªåå
- é¡¹ç®ææç¡®è§è â ä¸¥æ ¼éµå¾ª
- é¡¹ç®æ æç¡®è§è â æ¨¡ä»¿ç°æé£æ ¼
- é¡¹ç®æ ææ¾é£æ ¼ â ä½¿ç¨ Conventional Commits æ å
æäº¤æ¶æ¯æ ¼å¼
Conventional Commits æ å
<type>(<scope>): <subject>
<body>
<footer>
å¿ éé¨åï¼
type: æäº¤ç±»åsubject: ç®çæè¿°ï¼50-72 å符ï¼
å¯éé¨åï¼
scope: å½±åèå´body: è¯¦ç»æè¿°footer: ç ´åæ§åæ´ãå¼ç¨ç
æäº¤ç±»åï¼typeï¼
ä¼å 使ç¨é¡¹ç®ç±»åãæ æç¡®ç±»åæ¶åèï¼
| ç±»å | 说æ | ç¤ºä¾ |
|---|---|---|
feat / feature |
æ°åè½ | feat: æ·»å ç¨æ·è®¤è¯ |
fix / bugfix |
Bug ä¿®å¤ | fix: ä¿®å¤ç»å½è¶ æ¶ |
docs |
ææ¡£åæ´ | docs: æ´æ° API ææ¡£ |
style |
ä»£ç æ ¼å¼ | style: ç»ä¸ä»£ç ç¼©è¿ |
refactor |
éæ | refactor: æåå ¬å ±æ¹æ³ |
perf |
æ§è½ä¼å | perf: ä¼åæ¥è¯¢æ§è½ |
test |
æµè¯ç¸å ³ | test: æ·»å åå æµè¯ |
chore |
æå»º/å·¥å ·é¾ | chore: æ´æ°ä¾èµçæ¬ |
Subject è§å
- 使ç¨ç¥ä½¿å¥ï¼ç°å¨æ¶æï¼ï¼
addè䏿¯addedæadds - é¦åæ¯å°åï¼è±æï¼ææ£å¸¸å¤§å°åï¼ä¸æï¼
- å¥å°¾ä¸å æ ç¹
- éå¶å¨ 50-72 个å符
- æ¸ æ°æè¿°åäºä»ä¹
Body è§å
- è§£éåäºä»ä¹ä»¥å为ä»ä¹å
- æ¯è¡éå¶å¨ 72 个å符
- 使ç¨ç¥ä½¿å¥
- æä¾è¶³å¤çä¸ä¸æ
Footer è§å
ç ´åæ§åæ´ï¼
BREAKING CHANGE: API endpoints now require authentication
å¼ç¨ Issue/PRï¼
Closes #123
Refs #456
Scope 使ç¨è§è
Scope æå®æäº¤çå½±åèå´ã
å¸¸ç¨ Scopeï¼
| 项ç®ç±»å | Scope ç¤ºä¾ |
|---|---|
| Web åºç¨ | api, ui, auth, db |
| åº/æ¡æ¶ | core, utils, types |
| ç§»å¨åºç¨ | ios, android, shared |
| DevOps | ci, docker, deploy |
æ ¼å¼è§åï¼
- 使ç¨å°å忝
- ä¸è¶ è¿ 10-15 个å符
- ä¸ç¡®å®æ¶çç¥ scope
æºè½è¯å«åæ´å 容
åæåå
- è¯å«ä¸»è¦æ¨¡åï¼åæææåæ´æä»¶ï¼æ¾åºå¤§é¨åå 容æå±ç模å/ä¸å¡
- è¯å«ä¸æçå å®¹ï¼æ¾åºä¸ä¸»è¦æ¨¡åå®å ¨ä¸ç¸å ³çåæ´
- 建议æäº¤çç¥ï¼ä¸»è¦æ¨¡åå 容æäº¤ï¼ä¸æçå 容æä¸æäº¤
夿æ å
å±äºå䏿¨¡å/ä¸å¡ï¼å»ºè®®ä¸èµ·æäº¤ï¼ï¼
- åä¸åè½çä¸åé¨åï¼APIãç±»åãå·¥å ·å½æ°ï¼
- åè½å¼å + ç¸å ³ææ¡£
- åè½å¼å + ç¸å ³é ç½®
- åè½å¼å + ä¾èµæ´æ°
å®å ¨ä¸æçï¼å»ºè®®æä¸æäº¤ï¼ï¼
- ä¸åä¸å¡æ¨¡åçåæ´ï¼ç¨æ·æ¨¡å + è®¢åæ¨¡åï¼
- 代ç + é¨ç½²é ç½®æä»¶
- 代ç + CI/CD é ç½®
- 代ç + .gitignore çé ç½®
å¤çé»è¾
æ åµ 1ï¼ææåæ´å±äºå䏿¨¡å
ç´æ¥æäº¤ï¼æ éæç¤ºã
æ åµ 2ï¼å¤§é¨ååæ´å±äºå䏿¨¡åï¼å°é䏿ç
åæ´å
容ï¼
- src/api/users.ts (ç¨æ·æ¨¡å)
- src/types/user.ts (ç¨æ·æ¨¡å)
- src/api/orders.ts (è®¢åæ¨¡åï¼ä¸æç)
ä¸»è¦æ¨¡åï¼ç¨æ·æ¨¡å
ä¸ç¸å
³åæ´ï¼å»ºè®®æä¸æäº¤ï¼ï¼
- src/api/orders.ts (è®¢åæ¨¡åï¼ä¸æç)
è·³è¿ä¸ç¸å
³å
容ï¼ä»
æäº¤ç¨æ·æ¨¡åç¸å
³åæ´ï¼(y/n)
æ åµ 3ï¼å¤ä¸ªæ¨¡ååæ´ç¸å½
åæ´å
容ï¼
- src/api/users.ts (ç¨æ·æ¨¡åï¼50è¡)
- src/types/user.ts (ç¨æ·æ¨¡åï¼20è¡)
- src/api/orders.ts (è®¢åæ¨¡åï¼60è¡)
- src/types/order.ts (è®¢åæ¨¡åï¼30è¡)
ç¨æ·æ¨¡åï¼70è¡
è®¢åæ¨¡åï¼90è¡
è®¢åæ¨¡ååæ´æ´å¤ï¼å»ºè®®æäº¤è®¢å模åç¸å
³ï¼
- src/api/orders.ts
- src/types/order.ts
æ¯å¦ä»
æäº¤è®¢å模åï¼(y/n)
æéæ©æäº¤ææï¼(all)
å¤çæ¹æ³
# ä»
æåä¸»è¦æ¨¡åç¸å
³æä»¶
git add src/api/users.ts src/types/user.ts
git commit -m "feat(api): æ·»å ç¨æ·æ¥å£"
# 䏿ççæä»¶ä¸æåï¼çå¾
åç»å¤ç
åå¹¶ç¸ä¼¼æäº¤
åç½®æ£æ¥
ä» å¨æé¢å æäº¤æ¶æ§è¡å并夿ï¼
# æ£æ¥æ¯å¦æé¢å
æäº¤
AHEAD=$(git rev-list --count @{u}..HEAD 2>/dev/null || echo "0")
if [ "$AHEAD" -eq 0 ]; then
# æ é¢å
æäº¤ï¼ç´æ¥åå»ºæ°æäº¤
echo "æ¬å°ä¸è¿ç¨åæ¥ï¼ç´æ¥åå»ºæ°æäº¤"
else
# æé¢å
æäº¤ï¼è¿è¡å并夿
echo "æ¬å°æ $AHEAD 个é¢å
æäº¤ï¼æ£æ¥æ¯å¦éè¦åå¹¶"
fi
å¿«éç¸ä¼¼åº¦å¤æ
ä» éæ¥ç䏿¬¡æäº¤æ¶æ¯åå½ååæ´ï¼
# è·å䏿¬¡æäº¤
LAST_COMMIT_MSG=$(git log -1 --pretty=format:"%s")
# æ¥çå½ååæ´
git diff --stat
夿æ åï¼
| æ¡ä»¶ | æä½ |
|---|---|
| åä¸ç±»å + ç¸å模åæä»¶ | è¯¢é®æ¯å¦åå¹¶ |
| åä¸ bug çä¿®å¤ | è¯¢é®æ¯å¦åå¹¶ |
| ææ¡£è¿ç»æ´æ° | è¯¢é®æ¯å¦åå¹¶ |
| å ¶ä»æ åµ | ä¸åå¹¶ |
åå¹¶æ¹æ³
# æåå½ååæ´
git add <files>
# åå¹¶å°ä¸ä¸æ¬¡æäº¤
git commit --amend --no-edit
# ææ´æ°æäº¤æ¶æ¯
git commit --amend -m "æ´æ°åçæäº¤æ¶æ¯"
å®é 示ä¾
åºç¡ç¤ºä¾
è±æï¼
feat: add dark mode support
fix: resolve login timeout issue
docs: update README with new installation steps
䏿ï¼
feat: æ·»å æ·±è²æ¨¡å¼æ¯æ
fix: ä¿®å¤ç»å½è¶
æ¶é®é¢
docs: æ´æ°å®è£
æå
带 Scope ç示ä¾
feat(auth): implement OAuth2 login
fix(ui): correct button alignment on mobile
refactor(db): optimize user query performance
ä¸æç¤ºä¾ï¼
feat(auth): å®ç° OAuth2 ç»å½
fix(ui): ä¿®å¤ç§»å¨ç«¯æé®å¯¹é½é®é¢
refactor(db): ä¼åç¨æ·æ¥è¯¢æ§è½
带 Body ç示ä¾
feat(api): add pagination support
Implement pagination for list endpoints:
- Add `page` and `limit` query parameters
- Return total count and pagination metadata
- Update documentation with examples
Closes #42
fix(auth): resolve token expiration issue
The JWT token expiration was not being checked
correctly, allowing expired tokens to be used.
Added proper validation middleware.
Fixes #128
ç ´åæ§åæ´ç¤ºä¾
feat(api): remove deprecated endpoints
Remove v1 endpoints in favor of v2:
- DELETE /api/v1/users
- DELETE /api/v1/posts
BREAKING CHANGE: v1 endpoints are no longer available.
Please migrate to v2 endpoints.
Migration guide: docs/migration.md
feat(auth): require email verification
All new users must verify their email before
accessing the platform.
BREAKING CHANGE: Email verification is now mandatory.
Existing users are grandfathered in.
常è§é®é¢
é®é¢ï¼æäº¤æ¶æ¯å¤ªé¿
è§£å³æ¹æ¡ï¼ç®åæè¿°ï¼å°è¯¦ç»ä¿¡æ¯æ¾å ¥ bodyã
feat: add comprehensive user authentication system with OAuth2 support and token management
â
feat: add user authentication
Implement OAuth2 login and token management system
é®é¢ï¼ç±»åéæ©å°é¾
å¿«éå³çï¼
æ°åè½ â feat
ä¿®å¤ bug â fix
éæï¼åè½ä¸åï¼ â refactor
æ§è½ä¼å â perf
ææ¡£ â docs
æ ¼å¼è°æ´ â style
æµè¯ â test
å
¶ä» â chore
é®é¢ï¼Scope ä¸ç¡®å®
æå¯¼ååï¼
- 跨模ååæ´ â çç¥ scope
- å䏿¨¡ååæ´ â ä½¿ç¨æ¨¡ååä½ä¸º scope
- ä¸ç¡®å® â çç¥ scope
注æäºé¡¹
- ä» æ¬å°æä½ï¼æ¤æè½ä» è´è´£å建æäº¤ï¼ä¸æ§è¡ä»»ä½æ¨é
- ä¿æååæ§ï¼ä¸ä¸ªæäº¤åªåä¸ä»¶äº
- æäº¤å岿¸ æ°ï¼è½å¤éç°å¼åè¿ç¨
- é¿å ææä¿¡æ¯ï¼ä¸æäº¤å¯ç ãå¯é¥ãtoken
- éµå¾ªé¡¹ç®è§èï¼é¡¹ç®æè§èæ¶ä¸¥æ ¼éµå¾ª