私は開発中のウェブサイトに関連するすべてのものにGitリポジトリを使用しています。リポジトリには、ドキュメント、モックアップ、元のレイヤードイメージなどのサイトに関連するすべてのファイルと、www
サブディレクトリに入れたWebルートのものが格納されています。Gitを使って、サブモジュールを持つ外部プロジェクトをサブツリー化する最良の方法は何ですか?
私は、残りのプロジェクトで使用するように選択したCMSを統合したいと思っています。 CMSはGitで管理されているオープンソースプロジェクトです(GitHub上でホストされていれば問題ありません)。明らかにCMSはwww
サブディレクトリにある必要がありますが、そこには唯一のものではありません.CSSファイル、画像、CMSのテンプレートなどがあります。サブツリーのマージ戦略を使用して外部プロジェクトをリポジトリーに追加することを選択しました。ある時点で元のプロジェクトを変更して変更を元に戻したいので、私はGitHubからCMSリポジトリをクローンして、クローンからサブツリーのマージを完了しました。
問題は、外部プロジェクト(CMS用)に含めるサブモジュールがあることです。サブモジュールがメインプロジェクトに統合されていることを確認する最善の方法は何ですか?各サブモジュールに対してサブツリーマージを行う必要がありますか?
私はサブモジュールを変更したくないかもしれませんが、私が望むものは1つか2つあります。
ありがとうございます、サブツリーマージのように思えます。私はリポジトリの複製されたバージョンからマージしているので、元のプロジェクトへの変更はすべてそこに行われ、簡単に寄付することができます。 しかし、CMSのリポジトリのサブモジュールはどのように処理しますか?再帰的に各サブをマージする必要がありますか? – Calrion
あなたは正しいです、サブツリーのマージは行く方法です。各サブモジュールをサブツリー・マージする必要があります。サブモジュールをプロジェクトに結合する前にサブモジュールをクローンに入れることはできますが、それは将来更新するときにはもっとうまくいくでしょう。箇条書きを噛んで、各サブのサブツリーをマージします。 – Paul
いいね、ありがとう。しかし、私はちょうど問題を発見しました...タグは(もちろん)CMSリポジトリからインポートされています。私は葛藤します。現在の考え方は、ファイルをインポートしてCMSの履歴を無視することです。 – Calrion