mcpField
G
git-commit

git-commit

github.com/buiducnhat開発48154 回インストール18 週間前に更新
リポジトリ

git-commit について

git-commitは、Conventional Commits形式で意味の明確なGitコミットを作成するスキルです。差分から種別、スコープ、簡潔なメッセージを決め、ステージングとコミット時の安全策も適用します。

主な機能

  1. 01ステージ済みまたは作業ツリーの差分分析
  2. 02コミット種別とスコープの選択
  3. 03簡潔なConventional Commitsメッセージの作成
  4. 04必要に応じたファイルのステージング
  5. 05リスクのあるGit操作への安全策

活用シーン

  1. 01機能や修正を範囲を絞ってコミット
  2. 02変更を論理的な単位にまとめる
  3. 03コミットメッセージで破壊的変更を記録
  4. 04秘密情報や未依頼の共著者表記の混入防止

インストール

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

$npx skills add https://github.com/buiducnhat/cobrew --skill git-commit

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

詳細

Conventional Commits による Git コミット

概要

Conventional Commits の仕様に従って、標準化された意味のある Git コミットを作成します。実際の差分を分析し、適切なタイプ、スコープ、メッセージを判断します。

Conventional Commit の形式

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

コミットのタイプ

タイプ用途
feat新機能
fixバグ修正
docsドキュメントのみ
style書式やスタイルの変更(ロジックの変更なし)
refactorコードのリファクタリング(機能追加や修正なし)
perfパフォーマンスの改善
testテストの追加や更新
buildビルドシステムや依存関係
ciCI や設定の変更
choreメンテナンスやその他の作業
revertコミットの取り消し

破壊的変更

# Exclamation mark after type/scope
feat!: remove deprecated endpoint

# BREAKING CHANGE footer
feat: allow config to extend other configs

BREAKING CHANGE: `extends` key behavior changed

ワークフロー

0. コミットのコンテキストを読み込む

コミットのグループ分けとメッセージの規約に関連するプロジェクトのコンテキストだけを読み込みます。

  • docs/SUMMARY.md がある場合は、最初に読みます。
  • Git、リリース、またはコード標準の規約に関連する詳細ドキュメントだけを読み込みます。
  • コミットと実装の規約については、Code Standard のドキュメントを優先します。
  • ドキュメントの内容がコードやユーザーの意図と矛盾する場合は、大規模な変更を行う前に、利用可能な入力や質問を優先します。
1. 差分を分析する
# If files are staged, use staged diff
git diff --staged

# If nothing staged, use working tree diff
git diff

# Also check status
git status --porcelain
2. ファイルをステージングする(必要な場合)

ステージング済みのファイルがない場合、または変更を別の方法でまとめたい場合は、次のようにします。

# Stage specific files
git add path/to/file1 path/to/file2

# Stage by pattern
git add *.test.*
git add src/components/*

# Interactive staging
git add -p

シークレット(.env、credentials.json、秘密鍵)は絶対にコミットしないでください。

3. コミットメッセージを生成する

差分を分析して、次の内容を判断します。

  • タイプ:どのような種類の変更ですか?
  • スコープ:どの領域やモジュールに影響しますか?
  • 説明:変更内容を一行で要約します(現在形、命令形、72 文字未満)。
4. コミットを実行する
# Single line
git commit -m "<type>[scope]: <description>"

# Multi-line with body/footer
git commit -m "$(cat <<'EOF'
<type>[scope]: <description>

<optional body>

<optional footer>
EOF
)"

ベストプラクティス

  • 1 つのコミットにつき、論理的な変更を 1 つにします。
  • 現在形を使います。「added」ではなく「add」。
  • 命令形を使います。「fixes bug」ではなく「fix bug」。
  • Issue を参照します:Closes #123、Refs #456
  • 説明は 72 文字未満にします。

Git の安全プロトコル

  • Git の設定は絶対に更新しないでください。
  • 明示的な依頼がない限り、破壊的なコマンド(--force、hard reset)は絶対に実行しないでください。
  • ユーザーから依頼がない限り、フックを絶対にスキップしないでください(--no-verify)。
  • main/master への強制プッシュは絶対にしないでください。
  • フックが原因でコミットに失敗した場合は、問題を修正して新しいコミットを作成してください(amend はしないでください)。

その他のルール

  • ユーザーから依頼がない限り、共同作成者のトレーラーを自動的に追加しないでください。機密情報が含まれる可能性があります。コミットメッセージに Co-authored-by トレーラーを追加する前に、共同作成者を含めるかどうかと、その共同作成者が誰かを必ずユーザーに確認してください。

コメント