いくつかのサブモジュールを含む作業中のgitリポジトリがあります(異なるリポジトリのクローンを作成することで取得できます)。
ここで、プッシュまたはクローン作成を使用して、リポジトリ全体(すべてのサブモジュールを含む)を別のマシンの裸のgitリポジトリにコピーします。サブモジュールの履歴を失っても大丈夫です(サブモジュールのコンテンツを保持することに興味があります)。
これは可能ですか?私の試みでは、複製されたリポジトリでは、サブモジュールディレクトリは空です。
P.S.これが正しいワークフローではないことはわかっていますが( サブモジュールを使用したパブリックリポジトリの作成 を参照)、元のサブモジュールを更新する可能性はありません。
次のように、recursive
を使用して、すべてのサブモジュールでgitリポジトリのクローンを作成できます。
git clone --recursive your-repo-url
一方、すでにクローンを作成している場合は、次を使用できます。
git submodule init
git submodule update
サブモジュールの履歴が失われることはありません
複製されたリポジトリでは、サブモジュールディレクトリは空です。
「クローンリポジトリ」によってベアリポジトリを参照している場合、それは正常です。ベアリポジトリは常に空です。
ベアリポジトリのクローンをほのめかしている場合は、以下を追加する必要があります。
git submodule update --init --recursive
そうすれば、それらのサブモジュールの内容が表示されます。
サブモジュールは次のとおりです。
.gitmodules
ファイルでの宣言したがって、(--recursive
オプションを使用しても)そのリポジトリのクローンを作成するだけで、サブモジュールが続きます。