git worktreeを使った並行開発を支援するコマンドです。複数のタスクを同時に作業する際に便利です。
新しいブランチをworktreeとして別ディレクトリに作成し、VSCodeを開きます。
git worktree-new feature/new-login
git worktree-new bugfix/issue-123 --no-code
git worktree-new feature/api-v2 --base develop
git worktree-new -h # ヘルプを表示動作:
- 指定されたブランチ名から自動的にディレクトリ名を生成します。
feature/xxx→../repo-feature-xxxbugfix/abc→../repo-bugfix-abc
- ブランチが既に存在する場合は、そのブランチを使用してworktreeを作成します。
- ブランチが存在しない場合は、新しいブランチを作成してworktreeを作成します。
- デフォルトでVSCodeを開きます(
--no-codeで無効化可能)。
オプション:
--no-code: VSCodeを開かない--base <branch>: ベースブランチを指定(デフォルトは現在のブランチ)-h, --help: ヘルプを表示
既存のworktree一覧を表示し、インタラクティブに選択してVSCodeを開きます。
git worktree-switch
git worktree-switch --no-code
git worktree-switch -h # ヘルプを表示動作:
- 既存のworktree一覧を表示します(現在のworktreeは除外)。
- 各worktreeのパス、ブランチ名、コミットハッシュを表示します。
- 番号を入力することで、選択したworktreeのディレクトリでVSCodeを開きます。
- 空入力でキャンセルできます。
オプション:
--no-code: VSCodeを開かない-h, --help: ヘルプを表示
既存のworktree一覧を表示し、インタラクティブに選択して削除します。
git worktree-delete
git worktree-delete --force
git worktree-delete -h # ヘルプを表示動作:
- 削除可能なworktree一覧を表示します(現在のworktreeは除外)。
- 各worktreeのパス、ブランチ名、コミットハッシュを表示します。
- 番号を入力し、確認プロンプトで
yまたはyesを入力すると削除します。 - 削除後もブランチ自体は保持されます。ブランチも削除する場合は
git branch -d <branch>を実行してください。
オプション:
--force: 未コミットの変更があっても強制削除-h, --help: ヘルプを表示
注意事項:
- 未コミットの変更がある場合は通常の削除が失敗します。
--forceを使用してください。 - 削除されるのはworktreeのディレクトリのみで、ブランチは保持されます。
# メインリポジトリで新機能Aのworktreeを作成
git worktree-new feature/user-auth
# VSCodeが開き、別ディレクトリで作業開始
# ../repo-feature-user-auth/ で作業
# 別の新機能Bも並行して作業したい場合
git worktree-new feature/payment-integration
# ../repo-feature-payment-integration/ で作業
# 作業完了後、worktreeを削除
git worktree-delete# 現在のworktree以外を一覧表示して選択
git worktree-switch
# 表示例:
# Worktree 一覧:
#
# 1. /path/to/repo-feature-user-auth
# ブランチ: feature/user-auth
# コミット: abc1234
#
# 2. /path/to/repo-feature-payment
# ブランチ: feature/payment
# コミット: def5678
#
# 選択してください (番号を入力、Enterでキャンセル): 1