manage-git-branches
정보
이 스킬은 개발자가 기능 생성, 컨텍스트 전환, 병합된 브랜치 정리를 위한 Git 브랜치 관리를 돕습니다. 명명 규칙을 통한 브랜치 생성, stash를 활용한 안전한 전환, 업스트림 동기화, 병합된 브랜치 삭제를 처리합니다. 새로운 작업을 시작할 때, 작업 간 전환 시, 기능 브랜치를 메인과 동기화할 때, 또는 풀 리퀘스트 후 정리가 필요할 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-git-branchesClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
name: manage-git-branches description: > Gitブランチの作成、追跡、切り替え、同期、クリーンアップを行います。 命名規約、stashを使った安全なブランチ切り替え、アップストリームとの 同期、マージ済みブランチの削除を網羅。新機能やバグ修正の作業開始、 異なるブランチ間でのタスク切り替え、フィーチャーブランチをmainと 同期する場合、プルリクエストマージ後のブランチ整理に使用。 locale: ja source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: git complexity: intermediate language: multi tags: git, branches, branching-strategy, stash, remote-tracking
Gitブランチの管理
一貫した命名規約に従ってブランチを作成、切り替え、同期、クリーンアップする。
使用タイミング
- 新機能やバグ修正の作業を開始するとき
- 異なるブランチで複数タスクを切り替えるとき
- フィーチャーブランチをmainと同期させるとき
- プルリクエストのマージ後にブランチを整理するとき
- ブランチの一覧表示と内容確認をするとき
入力
- 必須: 少なくとも1件のコミットがあるリポジトリ
- 任意: ブランチ命名規約(デフォルト:
type/description) - 任意: 新規ブランチのベースブランチ(デフォルト:
main) - 任意: リモート名(デフォルト:
origin)
手順
ステップ1: フィーチャーブランチの作成
一貫した命名規約を使用する:
| プレフィックス | 用途 | 例 |
|---|---|---|
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。
ステップ2: リモートブランチの追跡設定
新しいブランチを初めてプッシュする際に追跡を設定する:
# 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。
ステップ3: 安全なブランチ切り替え
切り替え前に、作業ツリーがクリーンであることを確認する:
# Check for uncommitted changes
git status
変更が存在する場合、コミットするかstashに保存する:
# 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
stashの一覧と管理:
# 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}
期待結果: ブランチの切り替えが成功する。作業ツリーが切り替え先ブランチの状態を反映する。stashに保存した変更が復元可能な状態にある。
失敗時: 上書きされる恐れのある未コミットの変更によって切り替えがブロックされる場合、先にstashかコミットを行う。git stash は未追跡ファイルをstashに保存できないため、その場合は git stash push -u を使用する。
ステップ4: アップストリームとの同期
フィーチャーブランチをベースブランチと同期させる:
# 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 を試みる。
ステップ5: マージ済みブランチのクリーンアップ
プルリクエストがマージされた後、古くなったブランチを削除する:
# 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 を使用する。
ステップ6: ブランチの一覧表示と確認
# 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 を実行して削除済みリモートブランチへの参照をクリーンアップする。
バリデーション
- ブランチ名が合意した命名規約に従っている
- フィーチャーブランチが正しいベースブランチから作成されている
- ローカルブランチが対応するリモートブランチを追跡している
- マージ済みブランチがローカルとリモートの両方から削除されている
- ブランチ切り替え前に作業ツリーがクリーンである
- stashに保存した変更が放置されていない
よくある落とし穴
- mainへの直接コミット: 常にフィーチャーブランチを作成すること。mainに直接コミットするとPRの作成やコラボレーションが困難になる。
- ブランチ作成前のフェッチ忘れ: 古いローカルのmainからブランチを作成すると、最新状態より遅れた状態からスタートする。必ず先に
git fetch originを実行する。 - 長期間のブランチ運用: 何週間も続くフィーチャーブランチはマージコンフリクトを蓄積する。頻繁に同期し、ブランチの存続期間を短く保つ。
- 放置されたstash:
git stashは一時的な保存場所である。長期的な作業の保存には使わず、コミットかブランチを使用する。 - 未マージ作業の削除:
git branch -Dは破壊的操作である。強制削除前にgit log branch-nameで確認する。 - pruneの未実施: GitHubで削除されたリモートブランチは、
git fetch --pruneを実行するまでローカルに残り続ける。
関連スキル
commit-changes- ブランチ上での作業のコミットcreate-pull-request- フィーチャーブランチからのPRオープンresolve-git-conflicts- 同期中のコンフリクト対応configure-git-repository- リポジトリセットアップとブランチ戦略
GitHub 저장소
연관 스킬
llamaguard
기타LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
cost-optimization
기타이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
quantizing-models-bitsandbytes
기타이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
dispatching-parallel-agents
기타이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.
