Git 高度な操作とワークフロー
Gitは単なるバージョン管理ツールではありません——現代のソフトウェア開発における協業インフラです。Gitの高度な操作を習得すると、「Gitを使える」から「Gitを使いこなす」へと進化します。
🔥 Vibe Prompt
「Gitの高度なチュートリアルを作成:Gitflow vs GitHub Flowの比較、インタラクティブリベースの実践、チェリーピックとスタッシュの適切な使用タイミング、バイセクトデバッグ、チームのコミットメッセージ規約。」
ブランチ戦略
GitHub Flow(継続的デプロイに推奨)
main ──── feat/a ──── merge ──── feat/b ──── merge
\ /
└─ commits ─────────────┘
原則:
mainは常にデプロイ可能- 新機能は
mainからブランチを作成 - ブランチ命名:
feat/xxx、fix/xxx、chore/xxx - PR(プルリクエスト)経由でマージ
- マージ後すぐにブランチを削除
インタラクティブリベース
インタラクティブリベースでは歴史を書き換えることができます——プッシュ前にコミットを整理:
git rebase -i HEAD~3
# 表示される内容:
pick abc123 feat: ログインフォーム追加
pick def456 fix: バリデーション修正
pick 789ghi feat: エラーハンドリング追加
# よく使うコマンド:
# pick = このコミットを保持
# reword = コミットメッセージを変更
# squash = 前のコミットに統合
# fixup = 統合してメッセージを破棄
# drop = このコミットを削除
チェリーピック
特定のコミットを現在のブランチに適用:
git cherry-pick abc123
スタッシュ
未完了の作業を一時的に保存:
git stash
git stash -u # 未追跡ファイルも含む
git stash list # 一覧表示
git stash pop # 適用して削除
バイセクト(二分探索デバッグ)
バグを導入したコミットを二分探索で特定:
git bisect start
git bisect bad
git bisect good v1.0
git bisect reset
実践練習
💡 Vibe Coding 練習:AIに依頼:
- 適切なGitワークフローを案内するインタラクティブスクリプト
- コード品質チェックのpre-commitフック
- 自動CHANGELOG生成ツール
- チームワークフローのシミュレーション
さらなるGitのヒント
インタラクティブリベースの実践
git rebase -i HEAD~3
# pick, reword, squash, fixup, drop
便利なエイリアス
git config --global alias.lg "log --oneline --graph --all"
git config --global alias.aa "add -A"
git config --global alias.cm "commit -m"
リベースの実践
git checkout feature
git rebase main
# 競合が発生した場合:
# 1. 競合を解決
# 2. git add .
# 3. git rebase --continue