git-workflow
npx skills add https://github.com/ponpon55837/mariokartworldparams --skill git-workflow
Agent 安装分布
Skill 文档
â ï¸ æ ¸å¿è¦å – éå§ä»»ä½å·¥ä½åå¿ è®
ð« çµå°ç¦æ¢çæä½
å¨éå§ä»»ä½ç¨å¼ç¢¼ä¿®æ¹åï¼å¿ é å æª¢æ¥ç®å忝ï¼
# 檢æ¥ç®å忝
git branch
# å¦æå¨ main 忝ï¼ç«å³å»ºç«æ°åæ¯
git checkout -b <type>/<name>/<description>
ç¦æ¢æ¸ å®
â çµå°ä¸å¯ä»¥ç´æ¥å¨ main 忝ä¸ä¿®æ¹æªæ¡
â ä¸å¯ä»¥å¨ main 忝ä¸å·è¡ git add
â ä¸å¯ä»¥å¨ main 忝ä¸å·è¡ git commit
â ä¸å¯ä»¥å¨ main 忝ä¸ç·¨è¼¯ãæ°å¢æåªé¤ä»»ä½æªæ¡
æ£ç¢ºæµç¨
â
å
確èªç®åå¨ main 忝
â
å»ºç«æ°çåè½åæ¯
â
å¨åè½åæ¯ä¸é²è¡ä¿®æ¹
â
æäº¤å°åè½åæ¯
â
éé Pull Request åä½µ
æçåè½
- æä¾æ¨æºåç Git 忝å½åè¦ç¯
- 確ä¿åæ¯é¡åãéç¼è å稱ååè½æè¿°çä¸è´æ§
- åå©åééµå¾ªæä½³ç Git 工使µç¨
ä½æä½¿ç¨æ
å¨ä»¥ä¸æ æ³ä¸ä½¿ç¨æ¤æè½ï¼
- å»ºç«æ°ç Git 忝æ
- éè¦ç¢ºèªåæ¯å½åæ¯å¦ç¬¦åè¦ç¯
- åéåä½éè¦çµ±ä¸çåæ¯ç®¡ççç¥
- é²è¡ code review ææª¢æ¥åæ¯å½å
忝å½åè¦ç¯
æ¨æºæ ¼å¼
<type>/<developer-name>/<feature-description>
忝é¡å (type)
-
feat: æ°åè½éç¼
- ä¾å¦:
feat/lip/user-authentication - ç¨æ¼: éç¼å ¨æ°çåè½æç¹æ§
- ä¾å¦:
-
fix: é¯èª¤ä¿®å¾©
- ä¾å¦:
fix/lip/login-button-error - ç¨æ¼: ä¿®å¾©ç¾æåè½ç bug
- ä¾å¦:
-
refactor: ç¨å¼ç¢¼éæ§
- ä¾å¦:
refactor/lip/optimize-state-management - ç¨æ¼: æ¹åç¨å¼ç¢¼çµæ§ï¼ä½ä¸æ¹è®åè½
- ä¾å¦:
-
docs: æä»¶æ´æ°
- ä¾å¦:
docs/lip/update-readme - ç¨æ¼: æ´æ°å°æ¡æä»¶ãREADMEã註解ç
- ä¾å¦:
-
style: 樣å¼èª¿æ´
- ä¾å¦:
style/lip/improve-button-design - ç¨æ¼: UI/UX æ¹é²ãCSS 調æ´
- ä¾å¦:
-
test: 測試ç¸é
- ä¾å¦:
test/lip/add-unit-tests - ç¨æ¼: æ°å¢æä¿®æ¹æ¸¬è©¦
- ä¾å¦:
-
chore: éé ä»»å
- ä¾å¦:
chore/lip/update-dependencies - ç¨æ¼: ä¾è³´æ´æ°ã建置é ç½®ç
- ä¾å¦:
å½ååå
- 使ç¨å°å¯«åæ¯: ææåæ¯å稱使ç¨å°å¯«
- 使ç¨é£å符: å®è©ä¹é使ç¨
-飿¥ - ç°¡æ½æç¢º: åè½æè¿°æç°¡çä½å ·æè¿°æ§
- è±æå½å: çµ±ä¸ä½¿ç¨è±æå½å
- é¿å ç¹æ®å符: åªä½¿ç¨åæ¯ãæ¸ååé£å符
實éç¯ä¾
# â
æ£ç¢ºç¯ä¾
git checkout -b feat/lip/add-language-selector
git checkout -b fix/lip/fix-search-modal-crash
git checkout -b refactor/lip/improve-jotai-structure
git checkout -b docs/lip/update-api-documentation
# â é¯èª¤ç¯ä¾
git checkout -b new-feature # 缺å°é¡ååéç¼è
å稱
git checkout -b feat/AddFeature # 使ç¨å¤§å¯«åæ¯
git checkout -b feat/lip/æ°å¢åè½ # 使ç¨ä¸æ
git checkout -b feat-lip-feature # æ ¼å¼é¯èª¤
工使µç¨
1. å»ºç«æ°åæ¯
# å¾ main åæ¯å»ºç«æ°åæ¯
git checkout main
git pull origin main
git checkout -b <type>/<name>/<description>
2. éç¼éç¨
# 宿æäº¤è®æ´
git add .
git commit -m "feat: implement user authentication"
# 宿忥䏻忝
git fetch origin main
git rebase origin/main
3. æºååä½µ
# æ¨é忝å°é 端
git push -u origin <branch-name>
# å»ºç« Pull Request
# ä½¿ç¨ GitHub/GitLab ä»é¢å»ºç« PR
4. å併徿¸ ç
# åªé¤æ¬å°åæ¯
git branch -d <branch-name>
# åªé¤é ç«¯åæ¯
git push origin --delete <branch-name>
æäº¤è¨æ¯è¦ç¯
æ ¼å¼
<type>: <subject>
<body>
<footer>
é¡å (type)
è忝é¡åç¸å: feat, fix, refactor, docs, style, test, chore
â ï¸ éè¦ï¼èªè¨ä½¿ç¨è¦ç¯
é è¨ä½¿ç¨ç¹é«ä¸ææ°å¯« commit message
é¤éæç¹å¥è¦æ±ï¼å¦åéåä½å°æ¡ï¼ï¼å¦å commit message ç subject å body é½æè©²ä½¿ç¨ç¹é«ä¸ææ°å¯«ã
åå
- Type 使ç¨è±æ:
feat,fix,refactorçé¡åæ¨ç±¤ä¿æè±æ - Subject 使ç¨ä¸æ: ä¸»è¦æè¿°ä½¿ç¨ç¹é«ä¸æ
- Body 使ç¨ä¸æ: 詳細說æä½¿ç¨ç¹é«ä¸æ
- Footer 便 æ³: issue ç·¨èçå¯ä½¿ç¨è±æ
ç¯ä¾
# â
æ£ç¢ºï¼ä½¿ç¨ä¸æ
git commit -m "feat: æ°å¢èªè¨é¸æå¨å
ä»¶"
# â
æ£ç¢ºï¼è©³ç´°æäº¤ä½¿ç¨ä¸æ
git commit -m "feat: æ°å¢èªè¨é¸æå¨å
ä»¶
- 實ä½å
å« 5 種èªè¨é¸é
ç䏿é¸å®
- æ°å¢èªè¨è¨å®æä¹
åå° localStorage
- æ´æ° i18n é
ç½®
Closes #123"
# â
æ£ç¢ºï¼ä¿®å¾© bug
git commit -m "fix: ä¿®æ£ç»å
¥æé黿ç¡åæçåé¡"
# â
æ£ç¢ºï¼éæ§ç¨å¼ç¢¼
git commit -m "refactor: éæ§ Jotai çæ
管ççµæ§
- æå dataAtoms çºå¤å模çµ
- åªå atom å½ååçµç¹
- æ¹ååå¥å®ç¾©"
# â é¯èª¤ï¼ä½¿ç¨è±æï¼é¤éæç¹å¥è¦æ±ï¼
git commit -m "feat: add language selector component"
# â é¯èª¤ï¼ä¸è±æ··ç¨ä¸ç¶
git commit -m "feat: æ°å¢ language selector å
ä»¶"
ç¹æ®æ æ³
ä½æä½¿ç¨è±æï¼
- åéåä½å°æ¡æç¢ºè¦æ±
- éæºå°æ¡çåéè²¢ç»
- åéç¹å¥æå®ä½¿ç¨è±æ
妿ä¸ç¢ºå®ï¼é è¨ä½¿ç¨ä¸æã
注æäºé
- çµä¸ç´æ¥å¨ main 忝éç¼: æ°¸é å¾ main å»ºç«æ°åæ¯
- ä¿æåæ¯çå½é±æç: ç¡å¿«å®æä¸¦å併忝
- 宿忥䏻忝: é¿å åä½µè¡çª
- ä½¿ç¨ææç¾©çå稱: è®ä»äººè½çè§£åæ¯ç®ç
- ä¸å忝ä¸ååè½: é¿å å¨å®ä¸åæ¯æ··åå¤åä¸ç¸éçè®æ´
â ï¸ éè¦ï¼æ¸¬è©¦èæäº¤æµç¨
æ¯æ¬¡ä¿®æ¹å¾å¿ é æ¸¬è©¦
鿝強嶿§è¦åï¼ä»»ä½ç¨å¼ç¢¼ä¿®æ¹é½å¿ é ç«å³æ¸¬è©¦ã
# ä¿®æ¹ç¨å¼ç¢¼å¾ï¼ç«å³å·è¡æ¸¬è©¦
lsof -ti:3000 | xargs kill -9 2>/dev/null
sleep 2
pnpm dev
檢æ¥é ç®ï¼
- â å°æ¡è½å¦æååå
- â ç¡ç·¨è¯é¯èª¤
- â åè½æ£å¸¸éä½
- â ç¡å·è¡é¯èª¤
宿å¾çæäº¤æµç¨
â ï¸ çµä¸ç´æ¥æ¨éï¼å¿ é çå¾ ä½¿ç¨è 確èªã
# 1. æäº¤å°æ¬å°åæ¯
git add .
git commit -m "type: description"
# 2. â¸ï¸ 忢ï¼åç¥ä½¿ç¨è
已宿
# 說æï¼ãä¿®æ¹å·²å®æä¸¦æ¸¬è©¦ééï¼è«æª¢æ¥å¾åæ¨éã
# 3. â¸ï¸ çå¾
使ç¨è
檢æ¥ç¢ºèª
# 4. â
使ç¨è
確èªå¾ææ¨é
git push origin branch-name
æ¨éåæçµæª¢æ¥æ¸ å®
- ææä¿®æ¹é½å·²æ¸¬è©¦éé
- 宿´åè½æ¸¬è©¦å·²å®æ
- ç¡ç·¨è¯é¯èª¤åå·è¡é¯èª¤
- è®æ´å·²æäº¤å°æ¬å°
- å·²éç¥ä½¿ç¨è 檢æ¥
- çå¾ ä½¿ç¨è 確èª
- 確èªå¾æå·è¡ push
é¯èª¤ç¤ºç¯ vs æ£ç¢ºç¤ºç¯
# â é¯èª¤ï¼ç´æ¥æ¨é
git add .
git commit -m "feat: add feature"
git push origin feature-branch # é¯èª¤ï¼æªç¶ç¢ºèªå°±æ¨é
# â
æ£ç¢ºï¼çå¾
確èª
git add .
git commit -m "feat: add feature"
# åç¥ä½¿ç¨è
ï¼ãä¿®æ¹å®æï¼å·²æ¸¬è©¦ééï¼è«æª¢æ¥ã
# çå¾
使ç¨è
åè¦ç¢ºèª
# æ¶å°ç¢ºèªå¾æå·è¡ï¼
git push origin feature-branch
常è¦åé¡
Q: å¦ä½èçé·æéç¼çåè½ï¼
A: å»ºç« feature 忝ï¼å®æå¾ main rebaseï¼å®æå¾ååä½µã
Q: å¯ä»¥å¨åæ¯å稱ä¸ä½¿ç¨ issue ç·¨èåï¼
A: å¯ä»¥ï¼æ ¼å¼: feat/ponpon/add-feature-#123
Q: å¦ä½èçç·æ¥ä¿®å¾©ï¼
A: ä½¿ç¨ hotfix é¡å: hotfix/ponpon/critical-bug-fix
Q: çºä»éº¼ä¸è½ç´æ¥æ¨éï¼
A: 使ç¨è éè¦å¨æ¬å°ç°å¢æª¢æ¥åè½ã測試ææã確èªç¡èª¤å¾æè½æ¨éå°é 端ãéå¯ä»¥é²æ¢å°åé¡ç¨å¼ç¢¼æ¨éå°é 端å²å庫ã
Q: æ¯æ¬¡ä¿®æ¹é½è¦æ¸¬è©¦åï¼
A: æ¯çï¼çµå°éè¦ï¼ä»»ä½ç¨å¼ç¢¼ä¿®æ¹ï¼ç¡è«å¤§å°ï¼é½å¿ é ç«å³æ¸¬è©¦ï¼ç¢ºä¿æ²æç ´å£ç¾æåè½ã