6
はのは、その中のいくつかのファイルを持つ2つのgitリポジトリを想定してみましょう:サブディレクトリからサブツリーマージを実行できますか?
ProjectA
+ a
+ b
ProjectB
+ foo/x
+ foo/y
+ bar/z
今私はPROJECTAにProjectBのからディレクトリfoo
を含めたいです。
私の知る限りgit subtree add
prefix
を行うとき、私は理解して、それが受信リポジトリに持つべきパスがあるので、私は
git subtree add --prefix=project_b --squash URL_of_ProjectB
を行うとき、私はで終わるでしょう
ProjectA
+ a
+ b
+ project_b
+ foo/x
+ foo/y
+ bar/z
このレイアウトを取得するためにfoo
を取得したいだけと具体的に指定することはできますか?
ProjectA
+ a
+ b
+ project_b
+ x
+ y
これは、ProjectBのさらなる変更をProjectAにマージするプロセスを変更しますか?私は自分のシナリオがまさに 'git subtree 'の目的だと思っていましたが、もしそうでなければ何を*達成することができますか?たぶん私はそれに合わせて自分のファイルレイアウトを変更することができます。 – AndreKR
はい、ProjectBからProjectAへの変更をマージするたびに、フィルタ分岐ステップをやり直す必要があります。 'git subtree 'のmanページは' git split'コマンドについて説明しています。これは 'filter-branch'コマンドと似ています。しかし、レイアウトを変更できるのであれば、 'foo'の内容を別のリポジトリに抽出して、両方のプロジェクトにサブツリーとして追加するほうが良いかもしれません。おそらく 'b'はある種のlibなのでこれは良いでしょうか? – gregor
それは問題です、それは本当ではありません。そうだったら、私はそれをサブモジュールにします。それはむしろ2つのプロジェクト間で共有されるいくつかのコードです...国、いくつかのテンプレートのリスト – AndreKR