Repolode
k1LoW

k1LoW/git-wt

git worktreeの切り替え、作成、削除、名前変更をブランチ名またはディレクトリ名で行えるGitサブコマンド。

スター
562
フォーク
25
未解決の Issue
12
最終コミット
23 日前

これは何?

git-wtは、`git worktree`をより短いインターフェースで操作できるGitサブコマンドです。`git wt <branch>`を実行すると、既存のworktreeに切り替えるか、存在しない場合はブランチも含めて新しいworktreeを作成します。worktreeの一覧表示(JSON出力にも対応)、削除、ディレクトリとブランチをまとめた名前変更もできます。

新しいworktreeの作成時に必要となる、よくあるセットアップ作業にも対応しています。gitignore対象のファイル、未追跡ファイル、変更済みファイルをコピーしたり、node_modulesなどの大きなディレクトリを複製する代わりにシンボリックリンクにしたりできます。作成後に依存関係をインストールするコマンドなどを実行するフックや、削除前に実行する別のフックも設定できます。設定はgit configで行い、ほとんどのオプションはコマンドごとに上書きできます。

zsh、bash、fish、PowerShell向けのシェル連携により、ディレクトリの自動切り替えとタブ補完が利用できます。安全な削除では未コミットの変更があるworktreeの削除を拒否し、デフォルトブランチも誤って削除されないよう保護します。

主な機能

  • 01`git wt <branch>`ひとつでworktreeとブランチを切り替え、または作成。
  • 02未コミットの作業やマージされていないブランチを保護する安全な削除と、強制削除オプション。
  • 03worktreeのディレクトリとブランチをまとめて名前変更。
  • 04新しいworktreeに、gitignore対象・未追跡・変更済みのファイルをコピーまたはシンボリックリンク。
  • 05作成後または削除前にフックを実行。
  • 06zsh、bash、fish、PowerShell向けの補完付きシェル連携。

ユースケース

  • stashや1つのcheckoutでのブランチ切り替えをせずに、複数のブランチで同時に作業する。
  • 現在の作業に影響を与えず、別のディレクトリでpull requestをレビューする。
  • シンボリックリンクでworktree間の大きな依存関係フォルダを共有し、ディスク容量とセットアップ時間を節約する。
  • fzf、peco、tmuxと連携させて、worktreeをインタラクティブに切り替える。

クイックスタート

  1. 1

    Goでインストール

    go install github.com/k1LoW/git-wt@latest
  2. 2

    またはHomebrewでインストール

    brew install k1LoW/tap/git-wt
  3. 3

    リポジトリ内のworktreeを一覧表示

    git wt
  4. 4

    ブランチ用のworktreeに切り替える、または作成

    git wt feature-branch

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

  • ディレクトリを自動で切り替えるシェル連携は、bash、fish、PowerShellで実験的機能として提供されています。

収録されている特集

トピック

よくある質問

git-wt とは?
git worktreeの切り替え、作成、削除、名前変更をブランチ名またはディレクトリ名で行えるGitサブコマンド。 git-wtは、`git worktree`をより短いインターフェースで操作できるGitサブコマンドです。`git wt <branch>`を実行すると、既存のworktreeに切り替えるか、存在しない場合はブランチも含めて新しいworktreeを作成します。worktreeの一覧表示(JSON出力にも対応)、削除、ディレクトリとブランチをまとめた名前変更もできます。
git-wt は無料で使えますか?ライセンスは?
git-wt は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
git-wt は今もメンテナンスされていますか?
活発にメンテナンス中。git-wt の最終コミットは 2026年10月15日 です。
git-wt は何に使えますか?
stashや1つのcheckoutでのブランチ切り替えをせずに、複数のブランチで同時に作業する。 現在の作業に影響を与えず、別のディレクトリでpull requestをレビューする。 シンボリックリンクでworktree間の大きな依存関係フォルダを共有し、ディスク容量とセットアップ時間を節約する。 fzf、peco、tmuxと連携させて、worktreeをインタラクティブに切り替える。
git-wt のインストール方法は?
Goでインストール: go install github.com/k1LoW/git-wt@latest またはHomebrewでインストール: brew install k1LoW/tap/git-wt リポジトリ内のworktreeを一覧表示: git wt ブランチ用のworktreeに切り替える、または作成: git wt feature-branch
git-wt はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/k1LoW/git-wt

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

関連プロジェクト