wtpは、Go言語で書かれたGit worktree専用のコマンドラインツールで、マルチブランチ開発のワークフローを簡略化することを目的としています。

Git Worktreeとは?

Git worktreeを使用すると、同じリポジトリ内で複数のブランチを異なる作業ディレクトリに同時にチェックアウトできます。複数の機能ブランチで同時に作業する必要がある開発者にとって非常に便利です。もう頻繁に git stash をしたりブランチを切り替えたりする必要はありません。

wtpの核心機能

🌳 自動セットアップ

従来の方法でworktreeを作成するには複数のステップが必要でした:

git worktree add ../my-feature my-feature-branch
cd ../my-feature

wtpを使えば、1行のコマンドだけで済みます:

wtp add my-feature-branch

ツールが自動的に作業ディレクトリを作成し、上流追跡を設定します。

🧭 スマートナビゲーション

wtpは、worktree間を素早く切り替える機能を提供します:

wtp switch feature-x  # 指定したworktreeに素早く切り替え
wtp list              # すべてのworktreeを一覧表示
wtp remove feature-x  # 不要になったworktreeを削除

📊 ブランチ状態の可視化

wtp status を実行すると、すべてのworktreeの状態が一目でわかります:

  • 現在のブランチ
  • 上流との差分(ahead/behind)
  • 未コミットの変更

インストール方法

Homebrew (macOS/Linux):

brew tap satococoa/tap
brew install wtp

Goでインストール:

go install github.com/satococoa/wtp@latest

ソースからビルド:

git clone https://github.com/satococoa/wtp.git
cd wtp
go build -o wtp

おすすめの理由

  1. 小さくて洗練されている:457⭐のニッチなプロジェクトだが、機能は完全でコード品質も高い
  2. Go言語:単一のバイナリファイル、依存関係なし、クロスプラットフォーム
  3. MITライセンス:自由に使用・修正可能
  4. 継続的なメンテナンス:最近90日以内にも更新がある

ユースケース

  • フロントエンド開発で複数の機能ブランチを同時にメンテナンス
  • バックエンド開発でバグ修正と新機能開発を切り替え
  • 異なるブランチのコードを同時に比較する必要がある場面
  • monorepoを使用しているチーム

関連リンク