3

Git の下に WordPress プロジェクトがあり、サブモジュールとして WordPress があります。テーマの開発を別のサブモジュールに保持したいのですが、現在のセットアップ内で、テーマのセットアップをサブモジュールとして取得するのに苦労しています。

これが私のファイルシステムです:

/.git (master repo)
/index.php
/wp-config.php
/wordpress (WordPress repo as a submodule)
/wp-content 
  themes
     test-theme (theme repo)
        .git
        index.php
        (etc...)

マスター リポジトリを github にプッシュし、それを別のマシンで複製しようとすると、wordpress サブモジュールは正常にダウンロードされますが、テーマ フォルダーはダウンロードされず、サブモジュールが定義されていないというエラーが表示されます。

これを使用して、テーマをサブモジュールとして追加しようとしました:

git submodule add ./wp-content/themes/test-theme/.git ./wp-content/themes/test-theme

しかし、次のエラーが表示されます:「リモート (オリジン) には .git/config で定義された URL がありません」

テーマリポジトリが基本的にプロジェクトの「内部」でホストされており、オンラインの別のリポジトリではホストされていない場合、テーマリポジトリをサブモジュールとして定義するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

5

私はまだサブモジュールの使用に比較的慣れていませんが、似たようなことをしようとしており、2 つのブログ投稿が非常に役立つことがわかりました。1 つはClint Berryによるもので、もう1 つはDavid Winterによるものです。

サブモジュールの原則は、別のレポが必要であり、そのサブモジュールを新しいプロジェクトに追加するときに、 add submodule コマンドがレポを指す必要があるということです。

git submodule add https://github.com/youruseraccount/test-theme.git ./wp-content/themes/test-theme
git init
git update

これがエラーが発生する理由だと思います。オリジンに関連付けられた URL がありません。ファイル .gitmodule および .git/config を調べて確認します。私が正しければ、git init は必要なエントリを .git/config に追加し、git update はリポジトリからテーマをプルしてサブディレクトリに配置します。

サブモジュールへの変更をコミットする方法についてはこちらを、サブモジュールを削除する方法についてはこちらを参照してください。

于 2012-08-06T12:51:35.240 に答える