Git worktree が捗る管理ツール作ってみた

こんにちは、YOUTRUSTのやまでぃです。(YOUTRUST

今回は、社内で開発・運用している Git worktree 管理ツールを紹介します。

各 worktree を一元管理して並行開発をサポートするローカル Web アプリケーションです。

※ Claude Code でバイブコーディングした社内用のツールになるので、現在は公開予定はございません。

開発背景

日々の開発では、レビュー対応・機能開発・バグ修正などで複数ブランチの並行作業が発生します。

Git worktree を使えばブランチごとにディレクトリを分離できますが、それぞれの worktree で以下の作業が必要になります。

  • Docker Compose で DB・Redis・アプリケーションサーバーを起動
  • フロントエンドの Dev Server を起動
  • 環境変数ファイルのポート設定を手動で書き換え
  • 各 worktree の状態確認

worktree が増えるほど、どこで何が動いているのか把握しづらくなっていきます。

Git worktree 管理ツールとは

Git worktree 管理ツールとは、Git worktree のライフサイクルと、そこで動くサービス群をブラウザから一元管理する Web アプリケーションです。

主要機能の紹介

ワークツリー一覧と詳細パネル

メイン画面は左右ペイン構成になっています。

左側のテーブルでは各 worktree のブランチ名や、Docker / Dev Server / Storybook / Claude Code セッションのステータスがバッジで表示されており、今どの worktree で何が行われているのかが容易に分かります。

行をクリックすると右側に詳細パネルが展開し、Docker サービスの個別操作や Dev Server の起動/停止、ログの確認ができます。ブランチ名のコピーボタンや GitHub の compare リンクも用意しています。

ワークツリーの作成

「New Worktree」ボタンを押すとダイアログが開きます。

  • ブランチ名の入力(リモートブランチの Autocomplete 付き)
  • 起動する Docker サービスの選択
  • 起動する Dev Server の選択
  • DB コピー元の worktree 指定(既存データを使いたい場合)

作成を実行すると、以下のステップが SSE でリアルタイムにストリーミングされます。

  • git worktree add でディレクトリを作成
  • 環境変数ファイルをコピーしてポート番号を自動設定
  • vendor / bundle の Docker ボリュームをコピー
  • (指定時)DB ボリュームをコピー
  • Docker Compose でサービスを起動
  • Dev Server を起動

Docker Compose 管理

詳細パネルの Docker セクションから、サービス単位での起動・停止ができます。各サービスのメモリ使用量もリアルタイムで表示されるので、リソースの状況が一目でわかります。

全サービスの一括停止(Stop All)にも対応しています。Docker だけでなく Dev Server と Storybook もまとめて停止するので、worktree の作業を中断するときに便利です。

Dev Server / Storybook 管理

フロントエンドサービスそれぞれについて、Dev Server と Storybook をトグルスイッチで起動/停止できます。

起動中のサービスはリアルタイムでログを確認でき、ポート番号も自動で worktree ごとに分離されているため、複数 worktree で同時に Dev Server を立ち上げてもポートが衝突しません。

Claude Code セッション管理

各 worktree に対して Claude Code セッションを起動できます。ボタンを押すと iTerm2 に新しいウィンドウが開き、対象 worktree のディレクトリで claude コマンドが実行されます。

セッション一覧から、iTerm2 ウィンドウへのフォーカス切り替えや、セッションの停止が可能です。バックグラウンドで5秒ごとにプロセスの生存チェックを行い、終了したセッションは自動でクリーンアップされます。

ブランチ切り替え / Pull rebase

worktree 上でブランチの checkout ができます。既存のローカル/リモートブランチの選択に加え、新規ブランチの作成にも対応しています。

Pull rebase もワンクリックで実行でき、SSE で進捗がリアルタイム表示されます。

ワークツリー削除

削除時は未コミットの変更がないかチェックし、変更がある場合は警告を表示します。Force remove オプションも用意しているので、不要になった worktree を強制削除することも可能です。

まとめ

Git worktree 管理ツールを導入してから、worktree の作成から Docker・Dev Server の起動までがワンクリックで完結するようになり、並行開発が捗るようになりました。

ツール自体は YOUTRUST のリポジトリ構成に特化していますが、Git worktree + Docker Compose を使ったマルチサービス開発をしているチームであれば、同じアプローチが参考になるかもしれません。

以上!


▼エンジニア積極採用中です!

YOUTRUSTで一緒にプロダクト開発しませんか?

興味がある方は是非チェックよろしくお願いします!(AIコーディングエージェントの利用費補助もあります!)

herp.careers