まだworktreeを作るたびに.envを手でコピーしてるの?「git wt」
- 公開
- 正式公開 2025-12-26
- 作り手
- k1LoW(個人)
- 対応
- CLI
- 価格
- 無料(MIT ライセンス)
- 評価
- GitHub のスター 563(2026-10-13)
どんなアプリか
A Git subcommand that makes
git worktreesimple.k1LoW さん、GitHub の README
git-wt は、Git の worktree をまとめて扱うためのサブコマンドです。引数なしで git wt と打つと worktree の一覧が出ます。git wt <ブランチ名> と打つと、その worktree に切り替わります。worktree やブランチがまだ無ければ、そのときに作られます。削除は -d、名前の変更は -m で行います。
設定は git config で行い、どの設定も、コマンドを実行するときのフラグで上書きできます。新しい worktree へ .env のような無視ファイルをコピーする設定や、作った直後に npm install などのコマンドを走らせるフックがあります。
シェル連携を入れると、git wt <ブランチ名> を実行したときに作業ディレクトリもその worktree へ移ります。対応しているのは zsh・bash・fish・PowerShell です。
料金とデータの置き場所
ライセンスは MIT です。go install か Homebrew で入れられるほか、リリースのページからバイナリをダウンロードすることもできます。
worktree を置く場所は、初期設定ではリポジトリの中の .wt です。wt.basedir で変えられます。README によると、リポジトリの中に置いた場合、Claude Code の CLAUDE.md のような設定ファイルが二重に読み込まれることがあります。.git/wt のように .git の中へ置けばこの問題は起きない、と説明されています。
同じ分野のアプリ
| 名前 | 型 | 仕掛け | 対応 | 料金 |
|---|---|---|---|---|
| git-wt | worktree 管理 | サブコマンドを持たず `git wt <ブランチ名>` で作成と切り替えを行う | CLI(Go) | 無料(OSS, MIT) |
| Phantom | worktree 管理 | コマンド1つで作成・移動・削除し、複数の AI エージェントを並行で走らせやすくする | CLI | 無料(OSS, MIT) |
| wtp(Worktree Plus) | worktree 管理 | ブランチ名からパスを自動生成し、作成時のセットアップや移動を楽にする | CLI(Go) | 無料(OSS, MIT) |
| gwq | worktree 管理 | ghq のように、ファジーファインダーで作成・切り替え・削除を行う | CLI(Go) | 無料(OSS, Apache-2.0) |
| vibe | worktree 管理 | worktree の作成・切り替え・後片付けを簡単にする | CLI(Rust) | 無料(OSS, MIT) |
入れる前に
git-wt にはサブコマンドがありません。たとえば git wt list と打つと、一覧は出ずに list という名前の worktree が作られます。
シェル連携は git() というラッパー関数を作ります。ほかにも git コマンドを包むツールを使っていると、ぶつかることがあります。また、zsh 以外の bash・fish・PowerShell の連携は実験的な扱いです。
-d による削除では、ブランチがマージしきれていないと、worktree は消えますがブランチは残ります。それでも終了コードは 0 なので、スクリプトから使うときは表示されるメッセージを確かめる必要があります。main などの既定のブランチは、初期設定では削除や名前の変更から守られています。