🌲

git worktree を使って独立した作業環境を作る手順

に公開

git worktree とは

git worktree を使うと、1 つのリポジトリから複数の作業ディレクトリを作成できる。ブランチを切り替えずに並行して作業したい場合に便利である。

基本的な使い方

新しいブランチを作成しつつ worktree を追加

git worktree add ../hogehoge -b branch-a develop

このコマンドで:

  • ../hogehoge に新しい作業ディレクトリが作成される
  • branch-a という新しいブランチが develop ブランチから作成される
  • そのディレクトリでは branch-a ブランチがチェックアウトされた状態になる

新しい worktree に移動して作業開始

cd ../hogehoge

作業の流れ

補足コマンド

worktree の一覧確認

git worktree list

worktree の削除(作業完了後)

git worktree remove ../hogehoge

または手動で削除してから prune

rm -rf ../hogehoge
git worktree prune

注意点

  • worktree ディレクトリでは gitignore されているファイルが共有されない。
  • 同じブランチを複数の worktree でチェックアウトすることはできない

まとめ

git worktree は以下のような場面で特に有効である。

  • 緊急のバグ修正中に別の機能開発を並行したいとき
  • PR レビュー中に自分の作業を中断したくないとき
  • 複数のブランチを比較しながら作業したいとき

Discussion