次のディレクトリ構造を持つマスターブランチがあります
templates/something.lib
templates/libs/1.lib
また、次のファイルを含む templates_master ブランチもあります (ルートの右側)。
a.html
b.html
次に、マスターに移動し、テンプレートをマスター テンプレート フォルダーにロードします。
git read-tree --prefix=templates/ -u templates_master
これが現在このマスター構造になっています
templates/something.lib
templates/libs/1.lib
templates/a.html
templates/b.html
次に、マスターにとどまり、templates/a.html にいくつかの変更を加えて、いくつかのコミットを行います。ここで、この変更された templates/a.html を元のブランチに戻したいと思います。templates_master ブランチに切り替えて、このコマンドを実行します
git merge -s subtree master
ただし、このコマンドはmaster:templates/a.htmlをtemplates_master:a.htmlにコピーするだけでなく、これらのlibsファイルもコピーするため、基本的に私のtemplates_masterブランチには元のマスターtemplates/が持っていたすべてのものがあります。特定のファイルとフォルダーを master ブランチのみに保持するように git に指示することは可能ですか、またはこのロジックは git レベルでハードコードされていますか。つまり、サブディレクトリのマージ中に、templates/ を指すツリーのようなものを使用し、templates/ 内のすべてが子になることができます。テンプレートの/ ?