2012-03-05 6 views
1

これは何回も聞かれたに違いないが、実際には見つからないことが分かっていて、実際にはrtfmの後に、いくつかのgitプロジェクトを1つにまとめた簡単な例

シナリオでは、最新のコアとhtml5を備えたカスタム電子商取引のWebサイトを構築し、そのハックのためだけにDISQUSを投入したいとしましょう。彼らはすべてのプロジェクト内のフォルダを持つことができるよう、

これらmoduls意志部分的に競合:

は、我々は、これらを処理するためのgithubの上の3つのプロジェクトを持っていますapp、lib、skinなどと呼ばれるルートがありますが、まったく同じフォルダに同じファイルが含まれる可能性は低いです。

私の質問は、これらのプロジェクトがアップグレードされたときにアップグレードできるように自分のプロジェクトをセットアップする最良の方法は何ですか?

ありがとうございます!

答えて

2

プロジェクトと必要な3つのコンポーネントをリンクさせるには、submodulesというように参照することをお勧めします。

しかし、explained in this questionとして、私は別の維持をお勧めします:

  • プロジェクトツリー(あなたGitのローカル作業ツリーで、可視)Gitリポジトリに保存されているよう
  • プロジェクト実際の構造(1あなたすなわち二つ目は、、appに右のファイルを操作するためには、最初の1つのコンテンツにシンボリックリンクを使用する必要があります

)を実行するには、プロジェクトのために必要、skinと同じディレクトリを元のgitサブモジュールで別々に保つことができます。

+0

ありがとう、VonC、あなたは高速です! 私はあなたがリンクしたそのstackoverflowページのすべてを読むのに少し時間が必要ですが、そのスタートです。私は実際にシンボリックリンクを使用するのがオプションかどうか分からないのは、それがサブモジュールごとに数十のシンボリックリンクを必要とする可能性があり、ウェブサイトに20個のサブモジュールが必要なことがあるからです。 (私はフレームワークのテスト、拡張機能の拡張、支払い拡張、配送拡張、UI強化などを考えていますが、そのほとんどは_app/code_、_app/design/frontend_、_app/design/backend_、 _app/etc_、_skin_、_js_フォルダ、ディレクトリstuctureはMagentoでは厳密です) – DevMonk

+0

@DevMonk:事実上、シンボリックリンクが適合しない可能性があります。 'app'、' lib'、 'skin'の内容を別々に保つ可能性はありますか? ( 'app/mod1/...'、 'lib/mod1/...'、 '...'のように) – VonC

+0

これは絶対にサポートされていません。私は、デフォルトの動作を上書きするためにいくつかのモジュールを見つけたり、書き込んだりすることはできますが、それはかなりのことではなく一般的なベストプラクティスに従わないでしょう。 Magento自体が地獄のように遅いことは言うまでもありませんが、このアプローチではさらに悪化する可能性があります。 (また、Magentoのスピードの問題の大部分は、インクルードする必要があるファイルのために多くのフォルダをスキャンし、要求ごとに数百のファイルを必要とするという事実から来ています。 – DevMonk