約 10 個のサブモジュールといくつかのネストされたサブモジュールを含むトップ プロジェクトがあります。
./top-project/
./top-project/module-a
./top-project/module-b
...
一部のサブモジュールには のような従来の URL がありurl = git:software/module-a
、他のサブモジュールには のような相対リモート トップ プロジェクトの URL がありurl = ../module-b
ます。トップ プロジェクトの URL はurl = git:software/top-project
.
top-project とそのすべてのサブモジュールのワークツリー コピーを作成したいと考えています。
git worktree add -f ../top-project-v2
しかし、サブモジュールが元のパスを指すようにする方法が見つかりません。そのtop-project-v2/module-a
git が を指していてtop-project/module-a
、真新しい module-a のクローンを作成しないでほしいと思います。
実行するcd top-project-v2; git submodule upate --init --recursive
と、コマンドは成功しますが、サブモジュールは最上位プロジェクトのサブモジュールにリンクされません。
するとgit checkout --recurse-submodules origin/v2
、エラーが発生します。
git checkout --recurse-submodules origin/v2
fatal: not a git repository: ../../top-project/.git/worktrees/top-project-v2/modules/module-a
fatal: could not reset submodule index
そうする方法はありますか?