2012-04-07 14 views
19

私はこの新しいプロジェクトですべてがうまくいっていると思っていたし、gitのサブモジュールが私のアプリケーションを開発して展開する方法だと思った。git submodule submoduleでファイルを引っ張っていない

私のgit repo(Drupal)をセットアップし、Drupalの7.12タグで初期化しました。私の枝を作りました。次に、sites/all/modules/contribに必要なモジュールを gitサブモジュールadd -branch 7.x git:// path/to/drupal/module sites/all/modules/contrib/moduleに追加しました。

私はレポをgithubにプッシュするだけで簡単にプルできるようになり、すべてのサブモジュールをデプロイメントパスに引き込むことになりました。しかし、私のすべてのモジュールは、私がそうしても、引かれていません。 gitのサブモジュールのforeach Gitは

が判明 gitのサブモジュールの更新が続く または gitのサブモジュールのinit を引く、私が間違っていました。私は今、別の方法ですべてをやり直す必要がありますか?はいの場合は、私に教えてください。

答えて

39

あなたはDrupalのレポをフォークしましたか?サブモジュールがすでに.gitmodulesに追加されていますか?その場合、ブランチを複製して実行するだけです

git submodule init 
git submodule update 

独自のサブモジュールをリポジトリに再追加する必要はありません。

追加サブモジュールを追加する場合は、レポをクローンするたびにgit submodule init; git submodule updateを実行する必要があります。それは自動的にサブモジュールを取得しません。

+0

ありがとうございました。私はシンプルさに戻り、drupalプロジェクトのgit forkを使用します。私はdrupalコアファイルを変更することはありませんので、drupalコアからの変更をマージしても私のプロジェクトは害を受けません。 – geekdenz

+4

"git submodule init"と "git submodule update"を実行すると、私のためのトリックになりました。私はあなたがレポをクローンするときにgitが自動的にサブモジュールを引っ張らないことを知らなかった。 – michaelday

+0

@michaelday 'サブモジュール 'はメインプロジェクトに属していないためです。サブモジュールを引っ張りたい場合は、repoをクローンするときに 'git clone --recursive 'を使います。 – ahui

関連する問題