Claude-skill-registry git-workflow-helper
Guide Git workflows including branching, merging, rebasing, and conflict resolution. Use when managing Git operations or resolving complex Git scenarios.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/git-workflow-helper" ~/.claude/skills/majiayu000-claude-skill-registry-git-workflow-helper-9841b0 && rm -rf "$T"
manifest:
skills/data/git-workflow-helper/SKILL.mdsource content
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コマンドが生成されます!