git-doc-isolation
3
总安装量
3
周安装量
#56386
全站排名
安装命令
npx skills add https://github.com/morning-start/coze-skills --skill git-doc-isolation
Agent 安装分布
trae-cn
3
codebuddy
3
github-copilot
3
codex
3
kimi-cli
3
gemini-cli
3
Skill 文档
Git ææ¡£é离管ç
å¿«éå¼å§
5 åé䏿
# 1. éªè¯ main 忝干å
git log main -- docs/ # åºè¿å空
# 2. å建å¤ç« docs 忝
git checkout --orphan docs
git rm -rf .
mkdir docs && echo "# Dev Guide" > docs/guide.md
git add docs/ && git commit -m "chore(docs): init"
# 3. åå° mainï¼å¼å§ä½¿ç¨
git checkout main
æ¥å¸¸ä½¿ç¨ï¼æ¯æ¬¡å¼åï¼
# è·åææ¡£è¿è¡å¼å
git checkout -b feat-xxx
git archive docs docs/ | tar -x -C .
echo "docs/" >> .git/info/exclude
# å¼å宿å
git add src/ && git commit -m "feat: xxx"
git checkout main && git merge feat-xxx
rm -rf docs/
ä»»å¡ç®æ
- æ¬ Skill ç¨äº: ç®¡çæ¬å°å¼åææ¡£ï¼ç¡®ä¿ docs/ ç®å½ç»ä¸è¿å ¥ main 忝ç Git åå²
- è½åå å«: å建å¤ç«ææ¡£åæ¯ãå®å ¨æåææ¡£ã忝å并鲿¤ãææ¡£é离éªè¯
- è§¦åæ¡ä»¶: å½ç¨æ·éè¦å¨æ¬å°ç»´æ¤å¼åææ¡£ä½ä¸æ³å°å ¶æäº¤å°ä¸»å¹²åæ¯æ¶ä½¿ç¨
æ ¸å¿åå
ç»å¯¹é离åå
- main 忝åå²å¹²å: docs/ ç®å½ä»æªåºç°å¨ main 忝çä»»ä½æäº¤ä¸
- docs 忝å®å ¨ç¬ç«: ä½¿ç¨ orphan 忝å建ï¼ä¸ main æ å ±ååå²
- æ æ³éé»åå¹¶: ç±äºæ å ±åç¥å ï¼è¯¯æä½ merge ä¼ç«å³æ¥é
- æ¬å°åªè¯»ä½¿ç¨: åè½åæ¯éè¿ git archive 临æ¶è·åææ¡£ï¼ä¸è·è¸ªä¿®æ¹
æä½æ¥éª¤
æ¥éª¤ 1: å建å¤ç«ææ¡£åæ¯ï¼é¦æ¬¡è®¾ç½®ï¼
åç½®æ£æ¥:
# 确认 main 忝干å
git checkout main
git status # åºæ æªæäº¤æ´æ¹
# éªè¯ main 仿ªå
å« docs/
git log main -- docs/
# è¥è¿å空ï¼è¯´æå¹²å â
å建å¤ç«åæ¯:
# å建å
¨æ°çãæ åå²ç docs 忝
git checkout --orphan docs
# æ¸
空工ä½åºï¼orphan 忝ä¼ä¿çå½åæä»¶ï¼
git rm -rf .
# å建 docs ç®å½åææ¡£
mkdir docs
echo "# Development Guide" > docs/dev-guide.md
# æ·»å æ´å¤ææ¡£...
# æäº¤ææ¡£ï¼docs 忝ç第ä¸ä¸ªæäº¤ï¼ä¸ main æ ä»»ä½å
³èï¼
git add docs/
git commit -m "chore(docs): initial local documentation"
# åå° mainï¼ç¡®è®¤ docs/ ä¸åå¨
git checkout main
ls -la # åºçä¸å° docs/
æ¥éª¤ 2: å¨åè½åæ¯ä¸å®å ¨ä½¿ç¨ææ¡£
å建åè½åæ¯å¹¶æåææ¡£:
# 1. ä» main å建åè½åæ¯
git checkout main
git checkout -b feat-user-login
# 2. ä» docs 忝æåææ¡£ï¼åªè¯»ï¼ä¸è·è¸ªï¼
git archive docs docs/ | tar -x -C .
# ç°å¨ ./docs/ åå¨ï¼ä½ Git è§ä¸º untracked æä»¶
é ç½®é²æ¤ï¼å ³é®æ¥éª¤ï¼:
# 3. å° docs/ å å
¥æ¬å°æé¤å表ï¼é²æ¢è¯¯æäº¤
echo "docs/" >> .git/info/exclude
# éªè¯ï¼docs/ ä¸åºåºç°å¨ git status çå¾
æäº¤å表ä¸
git status
å¼å宿åæäº¤:
# 4. æç¡®æ·»å 代ç ç®å½ï¼é¿å
git add . é£é©ï¼
git add src/ tests/ scripts/ # æ ¹æ®é¡¹ç®ç»æè°æ´
# æï¼å¦æç¨äº git add .ï¼åç§»é¤ docs/
git add .
git reset docs/ 2>/dev/null || true
# 5. æäº¤ä»£ç ï¼docs/ ä¸ä¼è¢«å
å«ï¼
git commit -m "feat: implement user login"
# 6. åå¹¶å main
git checkout main
git merge feat-user-login
# 7. æ¸
ç
git branch -d feat-user-login
rm -rf docs/ # å é¤ä¸´æ¶æ·è´
æ¥éª¤ 3: éªè¯éç¦»ç¶æ
æ£æ¥ main 忝干忧:
# æ£æ¥ main æ¯å¦ ever å
å« docs/
git log --all --full-history -- docs/
# æ´ä¸¥æ ¼å°ï¼åªæ¥ mainï¼
git log main -- docs/
# 妿è¿å空ï¼è¯´æ main å®å
¨å¹²å â
éªè¯ docs 忝ç¬ç«æ§:
# 确认 docs ä¸ main æ å
±åç¥å
git merge-base main docs
# åºè¿åç©ºï¼æ å
±åç¥å
ï¼
èµæºç´¢å¼
- Git å½ä»¤åè: è§ references/git-commands.md(使¶è¯»å: éè¦å ·ä½å½ä»¤è¯æ³æ¶)
- 忝çç¥è¯¦è§£: è§ references/branch-strategy.md(使¶è¯»å: éè¦çè§£çç¥åçæ¶)
å®å ¨æºå¶è¯´æ
为ä»ä¹è¿æ ·ç»å¯¹å®å ¨ï¼
| é£é©åºæ¯ | å¦ä½è¢«è§é¿ |
|---|---|
| docs/ 被æäº¤å° main | main 仿ªæ docs/ï¼ä¸ .git/info/exclude 黿¢ git add . |
| docs/ éè¿ merge è¿å ¥ main | docs æ¯ orphan 忝ï¼ä¸ main æ å ±åç¥å ï¼merge 伿¥é |
| æºè½ä½è¯¯æ¹ææ¡£å¯¼è´ä¸¢å¤± | åå§ææ¡£å§ç»å¨ç¬ç«ç docs 忝ä¸ï¼æ¬å°å¯æ¬å¯éæä¸¢å¼ |
| å岿±¡æ | main çæ´ä¸ªæäº¤åå²é½ä¸å« docs/ï¼æ»¡è¶³”ä¸è½ä¿å”çè¦æ± |
åæ¯ç»æå¯è§å
main â [A] â [B] â [C] (æ docs/)
â
ââ ææ feat-* 仿¤ååºï¼ä¸´æ¶æ·è´ docs/ï¼ç¨å®å³å
docs â [D] (å¤ç«åæ¯ï¼åªæ docs/ï¼ä¸ A/B/C æ å
³è)
注æäºé¡¹
- ä¸è¦å¨ main ä¸åå»ºè¿ docs/ åå é¤: é£ä»ä¼çå¨åå²ä¸
- å¦æé¡¹ç®æ©æå·²å¨ main æäº¤è¿ docs/: å»ºè®®ç¨ git filter-repo å½»åºæ¸ é¤åå²
- å¯¹äºæ°é¡¹ç®: ç¨ –orphan å建 docs åæ¯æ¯æç®åãæå®å ¨çèµ·ç¹
- 宿éªè¯: 使ç¨éªè¯å½ä»¤å®ææ£æ¥ main 忝ç干忧
使ç¨ç¤ºä¾
ç¤ºä¾ 1: æ°é¡¹ç®åå§å
# æ°é¡¹ç®ï¼main 忝已åå¨
git checkout main
# å建å¤ç« docs 忝
git checkout --orphan docs
git rm -rf .
mkdir docs
echo "# API Documentation" > docs/api.md
git add docs/
git commit -m "chore(docs): add API documentation"
# åå° main
git checkout main
ç¤ºä¾ 2: æ¥å¸¸å¼åæµç¨
# å¼å§æ°åè½
git checkout -b feat-payment-module
# è·åææ°ææ¡£
git archive docs docs/ | tar -x -C .
echo "docs/" >> .git/info/exclude
# å¼å...
# åè docs/api.md è¿è¡å¼å
# æäº¤ï¼docs/ èªå¨è¢«æé¤ï¼
git add src/
git commit -m "feat: implement payment module"
# æ¸
ç
git checkout main
git merge feat-payment-module
git branch -d feat-payment-module
rm -rf docs/
ç¤ºä¾ 3: æ´æ°ææ¡£
# åæ¢å° docs åæ¯æ´æ°ææ¡£
git checkout docs
vim docs/api.md # ä¿®æ¹ææ¡£
git add docs/
git commit -m "docs: update API documentation"
# åå° main
git checkout main