Claude Code Plugins

Community-maintained marketplace

Feedback

git-workflow-helper

@ntaksh42/agents
0
0

Guide Git workflows including branching, merging, rebasing, and conflict resolution. Use when managing Git operations or resolving complex Git scenarios.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name git-workflow-helper
description Guide Git workflows including branching, merging, rebasing, and conflict resolution. Use when managing Git operations or resolving complex Git scenarios.

Git Workflow Helper Skill

Gitワークフローを支援するスキルです。

概要

Git操作のベストプラクティス、コマンド生成、トラブルシューティングを提供します。

主な機能

  • ワークフロー提案: GitFlow、GitHub Flow、Trunk-Based
  • コマンド生成: 複雑な操作の安全なコマンド
  • コンフリクト解決: マージコンフリクトの解決支援
  • 歴史の整理: rebase、squash、cherry-pick
  • トラブルシューティング: よくある問題の解決
  • フック生成: pre-commit、pre-push等

使用方法

以下の操作のGitコマンドを生成:
- ブランチを作成
- 変更をコミット
- リモートにプッシュ
- プルリクエスト作成の準備

ワークフローパターン

GitHub Flow

# 1. 最新のmainブランチを取得
git checkout main
git pull origin main

# 2. 機能ブランチを作成
git checkout -b feature/user-authentication

# 3. 変更を加えてコミット
git add .
git commit -m "Add user authentication"

# 4. リモートにプッシュ
git push -u origin feature/user-authentication

# 5. プルリクエストを作成(GitHubで)

# 6. レビュー後、mainにマージ
# 7. ブランチを削除
git branch -d feature/user-authentication

Git Flow

# develop ブランチから機能ブランチを作成
git checkout develop
git checkout -b feature/new-feature

# 完了後、developにマージ
git checkout develop
git merge --no-ff feature/new-feature

# リリースブランチ
git checkout -b release/1.2.0 develop

# リリース準備完了
git checkout main
git merge --no-ff release/1.2.0
git tag -a v1.2.0 -m "Release version 1.2.0"

よく使うコマンド

変更の取り消し

# ステージング取り消し
git reset HEAD <file>

# ローカル変更を破棄
git checkout -- <file>

# 直前のコミットを修正
git commit --amend

# コミットを取り消し(変更は保持)
git reset --soft HEAD~1

# コミットを完全に取り消し
git reset --hard HEAD~1

ブランチ操作

# ブランチ一覧
git branch -a

# リモートブランチを削除
git push origin --delete <branch-name>

# ローカルブランチを削除
git branch -d <branch-name>

# 強制削除
git branch -D <branch-name>

# ブランチ名変更
git branch -m <old-name> <new-name>

コンフリクト解決

# マージ中にコンフリクト発生
git merge feature-branch

# コンフリクトを確認
git status

# ファイルを編集してコンフリクトマーカーを削除
# <<<<<<<, =======, >>>>>>> を解決

# 解決済みとしてマーク
git add <resolved-file>

# マージを完了
git commit

# マージを中止する場合
git merge --abort

歴史の整理

# 直近3つのコミットをsquash
git rebase -i HEAD~3

# エディタで pick を squash に変更

# コミットメッセージを統合

# 強制プッシュ(注意!)
git push --force-with-lease

スタッシュ

# 変更を一時保存
git stash

# メッセージ付き
git stash save "Work in progress on feature X"

# 一覧
git stash list

# 適用
git stash apply

# 適用して削除
git stash pop

# 削除
git stash drop stash@{0}

トラブルシューティング

問題: 間違ったブランチにコミット

# 1. 現在のブランチ名を確認
git branch

# 2. コミットを取り消し(変更は保持)
git reset --soft HEAD~1

# 3. 正しいブランチに切り替え
git checkout correct-branch

# 4. 再度コミット
git add .
git commit -m "Your commit message"

問題: 機密情報をコミット

# 最新コミットの場合
git reset --soft HEAD~1
# ファイルを修正
git add .
git commit -m "Fixed commit"

# 既にプッシュ済みの場合
# 1. ファイルを履歴から削除
git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch path/to/secret/file" \
  --prune-empty --tag-name-filter cat -- --all

# 2. 強制プッシュ
git push --force --all

問題: リベース失敗

# リベース中止
git rebase --abort

# または続行
git rebase --continue

Pre-commit Hook

#!/bin/bash
# .git/hooks/pre-commit

# ESLint実行
npm run lint || exit 1

# テスト実行
npm test || exit 1

# 機密情報チェック
if git diff --cached | grep -i "password\|secret\|api[_-]key"; then
  echo "機密情報が含まれている可能性があります"
  exit 1
fi

exit 0

バージョン情報

  • スキルバージョン: 1.0.0
  • 最終更新: 2025-01-22

使用例:

以下の操作のGitコマンドを教えて:
1. 新しいブランチを作成
2. 変更をコミット
3. mainブランチの最新を取り込む
4. コンフリクトを解決
5. プッシュ

安全で正確なGitコマンドが生成されます!