git worktree とは

● git worktree とは

通常の Git では、1つのブランチしかチェックアウトできないため、他のブランチで作業したい場合はブランチを切り替える必要があります。

git worktree を使うことで:

  • 別のブランチを 別ディレクトリにチェックアウト
  • 複数のブランチを 同時に作業可能
  • 一時的な検証・ビルド・修正などに便利

● git worktree の使い方

・Worktree の作成

git worktree add <ディレクトリ> <ブランチ>

なんなら、main や master といったメインのブランチも worktree に出しておくことをおすすめします

・Worktree の一覧表示

git worktree list

・Worktree の削除

git worktree remove <ディレクトリ>

手動でディレクトリを作って、そこに新規にcloneして、そこに checkout -b するのと、どこが違う?

手動ディレクトリ作成とgit worktreeの違い

項目 git worktree git clone + checkout -b
.git ディレクトリ 1つだけ(共有) 各クローンに .git があり、独立
ディスク使用量 少ない(オブジェクトを共有) 多い(すべて複製される)
管理のしやすさ git worktree list で一元管理 各 clone は独立なので把握しにくい
履歴やブランチの共有 完全に共有 独立している(fetch/pushが必要)
使えるブランチ 同じブランチを同時に複数チェックアウト不可 可(完全に別リポジトリだから)
目的 同一リポジトリ内の並列作業 完全に独立した作業や分離環境の構築

git worktree で作ったディレクトリを消したい

git worktree remove <作業ディレクトリ>

⚠️ ディレクトリ自体は削除されないことが多いです(Git が自動で削除できない場合があるため)。

ディレクトリを手動で削除する

rm -rf  <作業ディレクトリ>
No.2615
05/29 11:15

edit