2 つのプロジェクト A と B を呼び出しましょう。それぞれの構造は次のとおりです。
/
|- Foo
| |- core
| | |- bar.txt
| | |- ...
| |- specific
| |- ...
|- ...
/Foo/core/のコンテンツが存在し、A と B でローカルに同期している必要があります。つまり、プロジェクト A で bar.txt を編集すると、同じマシンのプロジェクト B でその変更を取得できるはずです。 、 およびその逆。
「Core」という名前のプロジェクトを作成して、それを A と B のサブモジュールにしようとしました。問題は、bar.txt を編集してリモートにプッシュしてから A をプッシュすると、明らかにコードを取得できないことです。サブモジュールの更新を伴うプロジェクト B で。同じプロジェクトではありません。
サブツリーのマージも試しました。問題は、「コア」がスタンドアロン プロジェクトであることを意図しておらず、そのまま開発できないことです。それは単なるリソースファイルであり、より大きなもののための共通の機能です。したがって、私は自分の bar.txt を A と B のいずれかで編集し、特にこのプロジェクトの一部としてそこでテストし、他のプロジェクトで何らかの形で取得してテストできるようにしたいと考えています。
Git Book のサブツリーのマージに関する章では、次のように述べられています。
[...] master ブランチの rack サブディレクトリに変更を加えてから、後でそれらを rack_branch ブランチにマージして、メンテナに送信するか、上流にプッシュすることができます。
しかし、どうすればよいのか、2 つのローカル フォルダを同期させる方法については説明されていません。