git worktree の使い方
作業ツリーを増やす
書き方
git worktree add パス [ブランチ] git worktree add -b 新しいブランチ パス [起点] git worktree list git worktree remove パス git worktree prune
1 つのリポジトリで、別のブランチを別のディレクトリに同時に取り出します。コミットやブランチは共有します。同じブランチは 2 か所で取り出せません。
よく使うオプション
| オプション | 意味 |
|---|---|
add パス [ブランチ] | 別のディレクトリにブランチを取り出す |
-b 新しいブランチ | add のとき、ブランチを作って取り出す |
list | 作業ツリーの一覧 |
remove パス | 作業ツリーを片付ける |
prune | 手で消したディレクトリの記録を片付ける |
例
$ git worktree add ../app-hotfix -b hotfix main
main から hotfix のブランチを作り、隣のディレクトリに取り出します。今の作業はそのままで急ぎの修正ができます。
$ git worktree list/home/user/app 9c1e2f4 [feature]
/home/user/app-hotfix 9c1e2f4 [hotfix]作業ツリーと、それぞれで取り出しているブランチを見ます。
$ git worktree add ../app-review origin/feature
人のブランチを別のディレクトリに取り出して、手元の作業を止めずにレビューします。
$ git worktree remove ../app-hotfix
使い終わった作業ツリーを片付けます。ブランチとコミットは残ります。
よくある間違い・注意
- 同じブランチを 2 つの作業ツリーで同時に取り出すことはできません。
- ディレクトリを rm で消したときは、git worktree prune で記録も片付けます。
実際に打って練習する
Git コースの Lv61「もう一つの作業台 git worktree」で覚えます(第9章 熟練の道具)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜10 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。