Git Worktreeでブランチごとにデータベースも分離
BRANK

LayerX Tech Advent Calendar 2025の15日目の記事です。バクラク事業部 ソフトウェアエンジニアの @upamune です。今日は、ローカル開発においての困りごとである、Git Worktreeとデータベースなどの永続化ミドルウェアの組み合わせ問題をいい感じにした話をします。はじめにAI Coding Agentの登場で、複数の機能を並行して開発する機会が増えました。Agentに任せている間に別の作業を進めたり、レビュー待ちのブランチを放置して次のタスクに取りかかったり。こうした並行開発では、git worktreeが便利です。ブランチごとに独立したディレクトリを持てるので、git stashやgit checkoutを繰り返す必要がなくなります。ただ、git worktreeだけでは解決しない問題があります。DBの状態です。例えば、Docker ComposeでMySQLを起動してローカル開発をしている環境では、複数のworktreeが同じDockerボリュームを共有してしまいます。 feature-a で追加したカラムが feature-b には存在しない、マイグレーションを戻したり当て直したりという様に、コードは分離できてもDBの状態が足を引っ張ります。この記事では、git worktreeとDocker Volumeのスナップショットを組み合わせて、…

zenn.dev
Related Topics: GitHub Git