🎨

Cursorで調査とAIコーディングを並列に行うマルチウィンドウ活用!【Peacook × git worktree】

に公開

概要

Cursorを使うことで、リポジトリ全体の調査やAgentモードを用いた開発、さらにはVibeCodingもできるようになってきました。しかし、一つのリポジトリで開発をしつつ、それとは独立してリポジトリ内のコードの調査をしたい時があります。Cursorで「コード調査」と「Agentモードによる生成」を並列に進めたいとき、1つのウィンドウでは制約が出てきます。
この記事では、git worktreeとVSCode拡張のPeacookを使って、同じリポジトリを複数のブランチとして同時に開き、調査と開発を並列で進める方法を解説します。

利用ツール一覧

ツール 目的 リンク
git worktree 一つのリポジトリについて作業ツリーを複数同時に持てる。 公式ドキュメント
Peacook VSCodeウィンドウに色を付けて視認性向上 VSCode拡張

git worktree

git worktreeは、1つのGitリポジトリから複数の作業ディレクトリを作成できるコマンドです。通常はgit checkoutでブランチを切り替える必要がありますが、worktreeを使うと複数ブランチを同時に異なるディレクトリで作業することが可能になります。

これにより、以下のようなユースケースが実現できます:

  • 開発用ブランチと調査用ブランチを同時に確認する
  • 複数のCursorウィンドウを異なる目的で使い分ける

他にも、PRのレビューをしながら別の開発を続けるなどの使い方も便利ですが今回は説明を省略します。

使い方の基本コマンド

# リポジトリ直下で新しい作業ディレクトリを追加
git worktree add ../investigation main

# 現在の作業ディレクトリ一覧を表示
git worktree list

# 不要になった作業ディレクトリを削除
git worktree remove ../investigation

作成された../investigationは、元のリポジトリと完全に同期しているが、独立したブランチで作業できる点が大きな特徴です。

注意点

  • git worktree は「1つのブランチは1つの作業ディレクトリにしか割り当てられない」という制約があります。
    たとえば、すでに main ブランチが元のリポジトリで使われている状態で、別の作業ツリーでも同じ main を使おうとすると、以下のようなエラーになります:
fatal: 'main' is already checked out at '/your/repo/path'
  • また、git worktree add の際にブランチ名を省略すると、現在チェックアウトしているブランチ(HEAD)から新しいブランチが自動作成されます。その際、ブランチ名には作業ツリーのディレクトリ名が使われるため、意図しないブランチが増える可能性があります。
git worktree add ../foo
# → fooブランチが作成され、mainから分岐される(例)
  • ../ を作業ディレクトリに使う場合、他のプロジェクトやリポジトリと被る可能性があるため、現在のリポジトリ名をプレフィックスに使うのがおすすめです。
    たとえば、リポジトリが my-project なら:
git worktree add ../my-project-investigation investigation

のようにすると、ディレクトリが他と混ざりにくくなります。

Peacook

これにより、以下のような状況で役立ちます:

  • 複数ウィンドウを開いたときにどれがどの作業用かすぐに視覚で区別できる
  • 調査用・開発用・レビュー用など、用途ごとの作業環境を色で管理できる
  • 誤操作(ブランチ違いでの編集など)を防止できる

使用方法

  1. 拡張機能の画面でPeacookをインストール
  2. Ctrl + Shift + P でコマンドパレットを開き Peacook: Change to a Favorite Color を選択
  3. 任意の色を選択(例:開発用は青、調査用は緑など)

注意点

Peacookは .vscode/settings.json に色設定を書き込む仕様です。
そのため、.gitignore.vscodeディレクトリを無視することや、設定変更をうっかりGitにコミットしないよう注意が必要です(→詳細は後述の「ちょっといけてない点」で補足します)。

具体的にどうするのか

ここからは、実際に git worktreePeacock を使って、同じリポジトリを複数ブランチで並行して使う手順を解説します。

1. ブランチの作成

まずは、現在のブランチ(例:main)から調査用のブランチを作成しておきます。

git checkout main
git pull origin main
git branch investigation

2. worktree の追加

次に、git worktree で新しい作業ディレクトリを作成します。
以下では、現在のリポジトリが my-app だと仮定して、../my-app-investigation に作成します:

git worktree add ../my-app-investigation investigation

これで、以下の2つのディレクトリが同時に使える状態になります:

  • ./(開発用) → main ブランチ
  • ../my-app-investigation(調査用) → investigation ブランチ

3. Cursor で複数ウィンドウを開く

それぞれのディレクトリをCursor で開いてください。

cursor .                # 開発用(main)
cursor ../my-app-investigation   # 調査用(investigation)

4. Peacockでウィンドウに色をつける

色を変えて用途を区別すると、ウィンドウ間の操作ミスが減ります。

  • 調査用 → 緑系
  • 開発用 → 青系

Cursorで Ctrl + Shift + P → "Peacock: Change to a Favorite Color"

Ctrl + Shift + P

これで、同一リポジトリに対する「開発」と「調査」を、別ブランチ・別ウィンドウで同時に行える環境が整います。

difyをcursorのマルチウィンドウで開いている

ちょっといけてない点

Peacockは.vscode/settings.json

...
,
    "peacock.color": "#61dafb"
}

を追加する仕様になっています。
そのため、

  • .gitignore.vscode/*を追加する
  • カラーを変えた後にcommitとpushをしないようにする

という対応が必要になります。

まとめ

  • Cursorは非常に強力なAI開発ツールだが、ウィンドウが1つだと不便な場面もある
  • git worktreeを使えば、同一リポジトリを複数ディレクトリで管理できる
  • Peacockと組み合わせることで、どのウィンドウが何の用途かを視覚的に区別できる

調査と開発を同時に進めたい場合には、ぜひこの方法を試してみてください!

GMOペパボ株式会社

Discussion