次の内容の git リポジトリ A があります。
<shared files dir>/
sharedFile1
sharedFile2
そして、追加の git リポジトリ B に 2 つのプロジェクトがあり、それぞれがリポジトリ A の共有ファイルを使用する必要があります。そのため、ファイル構造は次のようになります。
Project_X
<shared files dir>/
sharedFile1
sharedFile2
<project X dirs>
Project_Y
<shared files dir>/
sharedFile1
sharedFile2
<project Y dirs>
共有ファイルがリポジトリ A でのみ更新されるようにしたいのですが、project_X と Project_Y がそれらの更新を簡単に取得できるようにする必要があります。
実際には、シンボリック リンクは私が必要とする正確な解決策かもしれませんが、残念ながら、私が使用しているファイル システムはそれをサポートしていません。
Git サブツリーも適切な解決策のように見えますが、問題は、同じブランチから同じリポジトリ内の 2 つの場所にサブツリーをマージする方法が見つからなかったことです。必要なファイル構造を作成することに成功しました:
git read-tree --prefix=Project_X/shared_files_dir/ -u shared_remote_branch
git read-tree --prefix=Project_Y/shared_files_dir/ -u shared_remote_branch
必要なファイル構造を作成します(質問の冒頭で説明したとおりです)が、更新をマージしようとすると、作成した最後のサブツリーにのみ変更が加えられます。
git merge --squash -s subtree --no-commit shared_remote_branch
Project_Y/shared_files_dir/ のみを更新し、Project_X/shared_files_dir/ は shared_remote_branch からの変更で更新しません。
アイデアをいただければ幸いです。サブツリーを 1 つのブランチから 2 つの場所 (Project_X/shared_files_dir/) および (Project_Y/shared_files_dir/) にマージする方法、または他の方法でそれを作成する方法について