私はこれについてかなりの検索を行いましたが、頭に釘を打つ結果はありませんでした.
$ mkdir blah
$ git init
$ git submodule add -b 7.x http://git.drupal.org/project/drupal.git drupal
$ git submodule add -b 7.x-1.x http://git.drupal.org/project/devel.git drupal/sites/all/modules/contrib/devel
次に、エラーが発生します。
The following path is ignored by one of your .gitignore files:
drupal/sites/all/modules/contrib/devel
Use -f if you really want to add it.
だから私は -f パラメータを追加します...
$ git submodule add -f -b 7.x-1.x http://git.drupal.org/project/devel.git drupal/sites/all/modules/contrib/devel
...しかし、適切な場所に複製した後、次のエラーが発生します。
fatal: Path 'drupal/sites/all/modules/contrib/devel' is in submodule 'drupal'
Failed to add submodule 'drupal/sites/all/modules/contrib/devel'
私は、すべてのサブモジュールを所定の位置にチェックインしたら、git clone --recursive
「コンテナ」リポジトリで「」を実行するだけでよいというプリンシパルに取り組んでいます。これにより、Drupal、すべての「contrib」モジュール (Drupal リポジトリから) が取得されます。 + に追加するカスタム モジュールdrupal/sites/all/modules/custom
。サブモジュールを適切なチェックアウトされたタグ付きリリースにすることが自動的に可能かどうか、まだ調査する必要があります...
git-slave (サードパーティのアドオン) と git-subtree (すべてのサブモジュールをブランチに追加し、それらを所定の位置にマージすることと関係があるように見えました?!) に関する投稿を見てきました...
これはSVNが本当に簡単にできることですが、誰もがGitの使用に苦労しているように見えるので、何かが欠けているように感じます...