概要
Git Worktreeは Git の基本機能で、ブランチとは違って新しいディレクトリを作成して作業できる環境を構築してくれる機能です。
今作業中のブランチをそのまま維持しながら、別のブランチで同時に作業したいときにとても便利です。例えば、機能開発の途中で緊急なバグ修正が必要になったり、コードレビューのために別のブランチを確認したいときに、stashやcommitをせずにそのまま別のディレクトリで作業を始めることができます。
- 公式ドキュメント: https://git-scm.com/docs/git-worktree
Worktreeで別のディレクトリを作成
次のコマンドを使うと、新しいブランチを作成しながら別のディレクトリに作業環境を構築することができます。
git worktree add -b feature/service/add-test ../new-directory
cd ../new-directory
yarn
code .
それぞれのコマンドの役割は以下の通りです。
git worktree add -b feature/service/add-test ../worktree:feature/service/add-testという新しいブランチを作成し、../new-directoryディレクトリにワークツリーを作成します。cd ../new-directory: 作成されたworktreeディレクトリに移動します。yarn: 依存パッケージをインストールします。code .: VS Codeで該当ディレクトリを開きます。
Worktreeの活用
Worktreeで作成した別の作業環境で、生成AIを活用してテストコードの作成などの作業を進めることができます。
Worktreeの削除
作業が完了したら、まずPRを作成して該当PRをmergeします。
その後、以下の手順でWorktreeを削除します。
- まず、現在登録されているWorktreeの一覧を確認します。
# 元のリポジトリのディレクトリで実行(worktreeのディレクトリではありません)
git worktree list
- 次のコマンドでWorktreeを削除します。
git worktree remove ../new-directory
完了
これでGit Worktreeを使って別のディレクトリで並行作業する方法について見てきました。今作業中のブランチをそのままにしながら別のブランチで作業したいとき、ぜひWorktreeを活用してみてください。特に生成AIと一緒に作業するとき、Worktreeはとても役に立つので、生成AIを活用されている方はぜひ試してみてください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
今見てるブログを作成た
興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。
Dekuが開発したアプリを使ってみてください。Dekuが開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。