Repolode
satococoa

satococoa/wtp

ブランチ名からworktreeのパスを自動生成し、セットアップフックを実行して、ブランチとworktreeをまとめて削除できるGit worktree用CLIです。

スター
636
フォーク
25
未解決の Issue
27
最終コミット
4 日前

これは何?

wtp(Worktree Plus)は、複数のブランチを並行してチェックアウトするための管理機能を追加する、git worktreeのラッパーCLIです。`wtp add feature/auth`を実行すると、ブランチ名から決まるパスにworktreeを作成するため、長い相対パスを手入力する必要がありません。リモートにしかないブランチも自動でチェックアウトでき、複数のリモートに同じブランチがある場合はエラーを表示します。

`.wtp.yml`ファイルを使って、プロジェクト単位の設定も行えます。作成後のフックでは、メインのworktreeから`.env`などのGit管理対象外ファイルをコピーしたり、`.bin`のような共有ディレクトリへのシンボリックリンクを作成したり、`npm ci`やデータベースマイグレーションなどのセットアップコマンドを実行したりできます。`wtp remove --with-branch`を使うと、worktreeとブランチをまとめて削除できます。また、`wtp cd`を使えば名前を指定してworktreeに移動でき、Bash、Zsh、Fishのタブ補完にも対応しています。

wtpはGoで書かれており、Homebrew、`go install`、LinuxおよびmacOS向けのビルド済みバイナリで配布されています。Git 2.17以降が必要です。

主な機能

  • 01ブランチ名からworktreeのパスを自動生成します。
  • 02`wtp remove --with-branch`でworktreeとブランチをまとめて削除します。
  • 03作成後のフックで、ファイルのコピー、シンボリックリンクの作成、セットアップコマンドの実行ができます。
  • 04ローカルブランチがない場合、リモートブランチを自動で追跡します。
  • 05Bash、Zsh、Fishのタブ補完に対応した`wtp cd`を提供します。

ユースケース

  • 変更をstashせずに、複数の機能ブランチで同時に作業する。
  • マイクロサービスやモノレポのプロジェクトで、新しいworktreeに`.env`ファイルや依存関係をセットアップする。
  • 作業を終えた機能ブランチを、対応するworktreeと一緒に削除する。

クイックスタート

  1. 1

    Homebrewでインストール(macOS/Linux)

    brew install satococoa/tap/wtp
  2. 2

    またはGoでインストール

    go install github.com/satococoa/wtp/v2/cmd/wtp@latest
  3. 3

    新しいブランチでworktreeを作成

    wtp add -b feature/new-feature

使う前に知っておきたいこと

  • Git 2.17以降が必要です。
  • ビルド済みバイナリが掲載されているのはmacOS(Apple Silicon)とLinuxのみで、Intel MacやWindows向けはありません。

収録されている特集

トピック

よくある質問

wtp とは?
ブランチ名からworktreeのパスを自動生成し、セットアップフックを実行して、ブランチとworktreeをまとめて削除できるGit worktree用CLIです。 wtp(Worktree Plus)は、複数のブランチを並行してチェックアウトするための管理機能を追加する、git worktreeのラッパーCLIです。`wtp add feature/auth`を実行すると、ブランチ名から決まるパスにworktreeを作成するため、長い相対パスを手入力する必要がありません。リモートにしかないブランチも自動でチェックアウトでき、複数のリモートに同じブランチがある場合はエラーを表示します。
wtp は無料で使えますか?ライセンスは?
wtp は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
wtp は今もメンテナンスされていますか?
活発にメンテナンス中。wtp の最終コミットは 2026年11月3日 です。
wtp は何に使えますか?
変更をstashせずに、複数の機能ブランチで同時に作業する。 マイクロサービスやモノレポのプロジェクトで、新しいworktreeに`.env`ファイルや依存関係をセットアップする。 作業を終えた機能ブランチを、対応するworktreeと一緒に削除する。
wtp のインストール方法は?
Homebrewでインストール(macOS/Linux): brew install satococoa/tap/wtp またはGoでインストール: go install github.com/satococoa/wtp/v2/cmd/wtp@latest 新しいブランチでworktreeを作成: wtp add -b feature/new-feature
wtp はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/satococoa/wtp

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト