MCP HubMCP Hub
Вернуться к навыкам

manage-git-branches

pjt222
Обновлено 2 days ago
6 просмотров
17
2
17
Посмотреть на GitHub
Метаai

О программе

Этот навык Claude помогает разработчикам управлять ветками Git для создания функций, переключения контекстов и поддержания синхронизации веток. Он обрабатывает операции с ветками с использованием правильных соглашений об именовании, безопасного переключения через stash, синхронизации с вышестоящими репозиториями и очистки слитых веток. Используйте его при начале новой работы, переключении между задачами, обновлении веток функций или очистке после слияний.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add pjt222/agent-almanac -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/pjt222/agent-almanac
Git клонированиеАльтернативный
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-git-branches

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация

管 Git 枝

以一致命名建、換、同、清諸枝。

用時

  • 啟新特性或修疵之工
  • 於異枝之任間換
  • 保特性枝於 main 為新
  • 合併 pull request 後清枝
  • 列並察諸枝

  • 必要:至少一提交之倉
  • 可選:枝之命名慣(預設:type/description
  • 可選:新枝之基(預設:main
  • 可選:遠端之名(預設:origin

第一步:建特性之枝

用一致之命名慣:

feature/新功feature/add-weighted-mean
fix/修疵fix/null-pointer-in-parser
docs/文件docs/update-api-reference
refactor/碼重構refactor/extract-validation
chore/chore/update-dependencies
test/試加test/add-edge-case-coverage
# Create and switch to a new branch from main
git checkout -b feature/add-weighted-mean main

# Or using the newer switch command
git switch -c feature/add-weighted-mean main

**得:**新枝已建並換。git branch 現新枝於星旁。

**敗則:**若基枝本地無,先取之:git fetch origin main && git checkout -b feature/name origin/main

第二步:追遠端之枝

首推新枝時立追:

# Push and set upstream tracking
git push -u origin feature/add-weighted-mean

# Check tracking relationship
git branch -vv

取他人所建之遠端枝:

git fetch origin
git checkout feature/their-branch
# Git auto-creates a local tracking branch

**得:**本地枝追對應遠端枝。git branch -vv 現上游。

**敗則:**若自動追敗,手設之:git branch --set-upstream-to=origin/feature/name feature/name

第三步:安換枝

換前,確工作樹淨:

# Check for uncommitted changes
git status

若有變,或提交或暫存:

# Option 1: Commit work in progress
git add <files>
git commit -m "wip: save progress on validation logic"

# Option 2: Stash changes temporarily
git stash push -m "validation work in progress"

# Switch branches
git checkout main

# Later, restore stashed changes
git checkout feature/add-weighted-mean
git stash pop

列並管暫存:

# List all stashes
git stash list

# Apply a specific stash (without removing it)
git stash apply stash@{1}

# Drop a stash
git stash drop stash@{0}

**得:**換枝成。工作樹反目標枝之態。暫存之變可復。

**敗則:**若未提交之變將被蓋而阻換,先暫存或提交。git stash 不暫未追之檔,除非用 git stash push -u

第四步:與上游同

保特性枝於基枝為新:

# Fetch latest changes
git fetch origin

# Rebase onto latest main (preferred — keeps linear history)
git rebase origin/main

# Or merge main into your branch (creates merge commit)
git merge origin/main

**得:**枝今含 main 之新變。無衝突,或衝突已解(見 resolve-git-conflicts)。

**敗則:**若 rebase 致衝突,解之並 git rebase --continue。若衝突過複雜,以 git rebase --abort 止之並改用 git merge origin/main

第五步:清已合之枝

PR 合後,除陳枝:

# Delete a local branch that has been merged
git branch -d feature/add-weighted-mean

# Delete a local branch (force, even if not merged)
git branch -D feature/abandoned-experiment

# Delete a remote branch
git push origin --delete feature/add-weighted-mean

# Prune remote-tracking references for deleted remote branches
git fetch --prune

**得:**已合之枝於本地與遠端皆除。git branch 僅現活枝。

敗則:git branch -d 拒刪未合之枝。若於 GitHub 以 squash 合併,Git 或不識之為已合。若確工已存,用 git branch -D

第六步:列並察枝

# List local branches
git branch

# List all branches (local and remote)
git branch -a

# List branches with last commit info
git branch -v

# List branches merged into main
git branch --merged main

# List branches NOT yet merged
git branch --no-merged main

# See which remote branch each local branch tracks
git branch -vv

**得:**諸枝、其態、與追關係皆明。

**敗則:**若遠端枝似陳,行 git fetch --prune 以清已刪遠端枝之參。

  • 枝名循所議命名慣
  • 特性枝自正基枝所建
  • 本地枝追其遠端對應
  • 已合之枝已清(本地與遠端)
  • 換枝前工作樹淨
  • 暫存之變不遺孤

  • 直於 main 上工:恆建特性枝。直提 main 致難建 PR 與協
  • 枝前忘取:自陳本地 main 建枝意自始已落。恆先 git fetch origin
  • 長壽枝:特性枝歷週積合併衝突。常同並保枝短壽
  • 孤之暫存git stash 乃暫存。勿依之為長工。提交或建枝
  • 刪未合之工git branch -D 乃毀。強刪前以 git log branch-name 二察
  • 不剪:於 GitHub 刪之遠端枝本地仍現,至 git fetch --prune 乃清

  • commit-changes — 於枝提交工
  • create-pull-request — 自特性枝開 PR
  • resolve-git-conflicts — 同步中處衝突
  • configure-git-repository — 倉之設與枝之略

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/wenyan/skills/manage-git-branches
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

content-collections

Мета

Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.

Просмотреть навык

polymarket

Мета

Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.

Просмотреть навык

creating-opencode-plugins

Мета

Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.

Просмотреть навык

sglang

Мета

SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.

Просмотреть навык