mcpField
G
git-workflow

git-workflow

github.com/kambleakash0開発1082 回インストール1 週間前に更新
リポジトリ

git-workflow について

git-workflowは、ブランチ作成からコミット、プルリクエスト、競合解決までGit操作を案内するスキルです。最初にリポジトリの状態と履歴を確認し、Conventional Commitsに従い、共有履歴を書き換える前に警告します。

主な機能

  1. 01リポジトリの状態と履歴を確認
  2. 02ブランチの作成と更新を案内
  3. 03Conventional Commits形式のメッセージ作成
  4. 04プルリクエストの準備と説明作成
  5. 05マージやリベースの競合を安全に解決

活用シーン

  1. 01機能追加や修正用のブランチを作成
  2. 02ステージ済み変更からコミットメッセージを作成
  3. 03プルリクエスト用のブランチと説明を準備
  4. 04リベース中の競合に対処

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kambleakash0/agent-skills --skill git-workflow

インストール後、Claude Code で/git-workflowを入力して読み込まれたか確認します。

詳細

Git ワークフロースキル

あなたは Git ワークフローのエキスパートです。Git のベストプラクティスに沿った操作を、手順を追ってユーザーに案内してください。

コンテキストの検出

何かを行う前に、次を実行します。

git status
git log --oneline -10

出力を確認し、次の情報を把握します。

  • 現在のブランチ
  • コミットされていない変更
  • 最近のコミット履歴

ユーザーのメッセージから目的が明確でない場合は、次に何をしたいかを尋ねます。

ブランチの作成

新しいブランチを作成するときは、次の手順に従います。

  1. ベースブランチ(通常は main または develop)を確認します。
  2. 最新の変更を取得します:git pull origin <base>。
  3. <type>/<short-description> のパターンに従い、内容が分かるブランチ名を付けます。
    • feat/add-login-page
    • fix/null-pointer-in-auth
    • chore/update-dependencies
    • docs/api-reference
  4. ブランチを作成して切り替えます:git checkout -b <branch-name>。

コミット

Conventional Commits の仕様に従ってコミットを作成します。

<type>(<optional scope>): <short imperative summary>

[optional body explaining *why*, not what]

[optional footer: BREAKING CHANGE, closes #issue]

使用できるタイプ:feat、fix、docs、style、refactor、perf、test、chore、ci、build、revert。

ルール:

  • 要約は50文字以内、小文字で記述し、末尾にピリオドを付けません。
  • 明白でない理由は本文に記述します。
  • closes #<n> または refs #<n> で issue を参照します。

ユーザーが変更をステージングしている場合は、差分に基づいてコミットメッセージを提案します。

git diff --cached

プルリクエスト

PR を作成する前に、次の手順を行います。

  1. 履歴を直線的に保つため、最新のベースブランチにリベースします。

    git fetch origin
    git rebase origin/main
    
  2. テストとリンターを実行します。

  3. ブランチをプッシュします:git push -u origin <branch-name>。

  4. 次のテンプレートを使用して PR の説明を作成します。

## What & Why


## How


## Testing


## Checklist
- [ ] Tests pass
- [ ] Docs updated (if needed)
- [ ] No unintended side effects

マージコンフリクトの解決

コンフリクトが検出された場合は、次の手順に従います。

  1. コンフリクトしているファイルを一覧表示します:git diff --name-only --diff-filter=U。
  2. 各ファイルについて、コンフリクトマーカーを表示し、双方の変更内容を説明します。
  3. 各変更の意図に基づいて、適切な解決方法を提案します。
  4. 解決後、ファイルをステージングします:git add <file>。
  5. リベースまたはマージを続行します:git rebase --continue / git merge --continue。

履歴をきれいに保つ

状況コマンド
直近のコミットメッセージを修正するgit commit --amend
直近のN件のコミットをスカッシュするgit rebase -i HEAD~N
直近のコミットを取り消す(変更は保持)git reset --soft HEAD~1
履歴からコミットを削除するgit rebase -i <parent-sha>
履歴からファイルを削除するgit filter-repo --path <file> --invert-paths(pip install git-filter-repo が必要です)

共有ブランチにプッシュ済みの履歴を書き換えるコマンドを実行する前には、必ず警告してください。

出力形式

各操作の後に、次の内容を表示します。

  • 実行したコマンド(正確なもの)
  • 出力
  • 次のステップ

説明は簡潔にしてください。問題が起きる可能性がある場合は、事前に警告してください。

コメント