git worktree × Claude Code で並行作業を実現する
こんにちは、 Gaji-Labo フロントエンドエンジニアの石垣 (@semigura) です。
AIエージェントを利用した開発手法がますます盛り上がっているこの頃ですが、Gaji-Labo でも引き続きスタートアップ支援をはじめとして、日々の開発にAIをどう活かすかの検証が行われています。
今年に入り Gaji-Labo はAIエージェントを駆使して日々の開発の効率向上を図っています。その中でも、最近では Claude Code を活用した取り組みが進められています。
今回の記事ではその一環として、 git worktree を使って Claude Code で並行作業を実現する方法をご紹介します。
Claude Code で並行作業を実現したい
Claude Code はプロンプトを入力することでさまざまなタスクを自動実行してくれます。ただしそのスレッドは現在のブランチ上で実行されるため、作業途中でブランチを移動するとコンテキストと作業経過が分断されてしまいます。
タスクを一つずつ対応する場合はタスクごとに Claude Code のスレッドを切り替えて対応できますが、せっかく自動でタスクをこなしてくれるのであればパラレルで作業を進めたいところです。
そこで git worktree を活用して作業環境をタスクごとに用意することで、並行作業を実現します。
git worktree とは、同じリポジトリの複数のブランチを作業ツリーを管理できる Git の機能です。switch で移動することなく、一度に複数のブランチで作業することができます。
参考: https://git-scm.com/docs/git-worktree
具体的な手順
例えば、現在の機能開発(feature/new-function)とは別に、バグ修正(fix/bug)を行う場合を考えます。
以下のコマンドを実行するだけでfix/bug
用の作業環境を用意できます。
$ git worktree add ../my-project-bug-worktree fix/bug
これで以下のようなディレクトリ構造が作成されます。
./
├─ my-project/ (feature/awesome-func ブランチの作業場)
└─ my-project-bug-worktree/ (fix/bug ブランチの作業場)
あとはそれぞれのディレクトリを別々のターミナルで開いて作業を進めるだけです。各ターミナルで Claude Code を動かすことで、それぞれのブランチのコンテキストで、お互いに干渉することなく作業を進められます。
もちろん3つ以上の作業環境を用意することも同様の手順で可能です。
作業後は各ターミナルで git worktree remove
コマンドを実行して作業環境をクリーンアップできます。
並行作業による効率化の所感
このやり方で git worktree を使って Claude Code で並行作業を行ってみると複数の作業を並行して進められるため、一時的に一人分以上の生産性を発揮できると感じました。
反面、作業が並行で進行しているとそれぞれのタスクの進行状況を把握するのにかなり思考を使います。人間側が思考のリソースを上手く管理する工夫が必要になってくるなと感じました。
また当記事の本題とは直接関係しませんが、それぞれのタスクで適切に作業内容を指示しないと意図通りに動かず、並行作業の恩恵を受けられないこともあります。AIエージェントへの指示の仕方はまた別の課題として精度を上げていく必要があると感じました。
まとめ
今回は git worktree を使って Claude Code で並行作業を実現する方法をご紹介しました。
複数の作業環境を用意することでAIエージェントと人間がそれぞれ並行して作業を進められるようになります。上手く使いこなすと一人で何人分もの生産性を挙げることができると思います。
ぜひ参考にしていただければ幸いです。
Gaji-Labo は フロントエンドのAI開発の実績と知見があります
急速に進化するAI技術、進まないUIとの統合…。 ユーザー体験を損なわずにAIを導入したいと考えながら、実装や設計に悩み、開発が停滞している。 そんな課題を抱えるプロダクトや開発チームを、私たちは数多く支援してきました。
フロントエンド開発の専門企業である Gaji-Labo は、AIチャットや自然言語処理UIなどの設計・実装において、AIの特性を踏まえた体験設計・UI開発・運用まで、フェーズに応じたサポートが可能です。
Gaji-Labo フロントエンドエンジニア向けご案内資料
Gaji-Labo は新規事業やサービス開発に取り組む、事業会社・スタートアップへの支援を行っています。
弊社では、Next.js を用いた Web アプリケーションのフロントエンド開発をリードするフロントエンドエンジニアを募集しています!さまざまなプロダクトやチームに関わりながら、一緒に成長を体験しませんか?
もちろん、一緒にお仕事をしてくださるパートナーさんも随時募集中です。まずはお気軽に声をかけてください!