2025.12.04
バージョンアップ作業時に役立つgit worktreeの使い方
池田
システムのバージョンアップや改修で「旧バージョン(A)と新バージョン(B)を同時に動かして比較したい」という場面は多いと思います。
そんなときに便利なのが git worktree です。
git worktree とは?
別フォルダに、別ブランチを同時にチェックアウトできる Git の仕組み です。
通常の Git は「1フォルダに1ブランチ」ですが、worktree を使うと複数ブランチを並列で扱えます。
■ 使い方
① メインプロジェクトへ移動
cd project-main② バージョンA用の worktree を追加
git worktree add ../versionA-branch versionA-branch③ バージョンB用の worktree を追加
git worktree add ../versionB-branch versionB-branch④ フォルダ構成イメージ
/project-main → main ブランチ
/versionA-branch → versionA ブランチ
/versionB-branch → versionB ブランチ作業ディレクトリは分かれていますが、Git としては1つのリポジトリを共有しています。
⑤ 削除したいとき
git worktree remove project-verA■ git worktree が便利な理由
1. フォルダコピーが不要
コピー運用だと .env が混ざったり、不要ファイルが残ったり危険ですが、
worktree は Git がクリーンにブランチを展開するので安全。
2. ブランチ切り替えが不要
別フォルダに同時に checkout されるため、
versionA と versionB を同時に開いて作業できます。
3. バージョン比較が爆速
旧バージョンのバグ調査 → 新バージョンへ反映
これを並列で進められるので効率が段違い。
4. Docker での同時起動も簡単
たとえば、
- versionA → http://localhost:8081
- versionB → http://localhost:8082
というように同時起動して比較できます。
■ 注意点(重要)
- 同じブランチを2つの worktree に同時にチェックアウトはできない
- worktree 側には
.gitフォルダは作られず、親と共有される .envなど環境依存ファイルはフォルダごとに用意が必要
■ まとめ
作業内容 コピー運用 worktree フォルダ複製 必要 不要 2バージョン同時作業 面倒 簡単 破損リスク 高い 低い Git管理 あいまい 明確 Docker 並列起動 手間 簡単 バージョンアップ作業や複数バージョン比較を行う際、git worktree は便利機能ですので一度触ってみるのはありかもしれないです!


