はじめに
🧑💻 Git や LabEx の初心者ですか? Git のクイックスタート コースから始めることをおすすめします。
Git では、サブモジュールはリポジトリ内のリポジトリです。これにより、他のリポジトリをプロジェクトの依存関係として含めることができます。サブモジュールを含む Git リポジトリをクローンするとき、サブモジュールは自動的にクローンされません。これは、プロジェクトをビルドまたは実行しようとするときに問題を引き起こす可能性があります。この実験では、欠落しているサブモジュールをクローンし、コミットをチェックアウトする方法を学びます。
欠落しているサブモジュールをクローンする
あなたはサブモジュールを含むプロジェクトを作業しています。プロジェクトをクローンするとき、サブモジュールは自動的にクローンされません。これは、プロジェクトをビルドまたは実行しようとするときに問題を引き起こします。あなたは欠落しているサブモジュールをクローンし、正しいコミットをチェックアウトする必要があります。
この実験では、https://github.com/git/git という名前の Git リポジトリを使用します。このリポジトリには、リポジトリをクローンする際に自動的にクローンされないサブモジュールが含まれています。
欠落しているサブモジュールをクローンし、正しいコミットをチェックアウトするには、次の手順に従います。
- リポジトリディレクトリに移動します。
cd git - サブモジュールを初期化します。
git submodule update --init --recursive - サブモジュールの正しいコミット、つまり
masterブランチにチェックアウトします。
以下が最終結果です。git submodule foreach git checkout master
Submodule 'sha1collisiondetection' (https://github.com/cr-marcstevens/sha1collisiondetection.git) registered for path'sha1collisiondetection'
Cloning into '/home/labex/project/git/sha1collisiondetection'...
Submodule path'sha1collisiondetection': checked out '855827c583bc30645ba427885caa40c5b81764d2'
まとめ
欠落しているサブモジュールをクローンし、コミットをチェックアウトすることは、サブモジュールを含む Git リポジトリを扱う際の重要なステップです。この実験で示した手順に従うことで、プロジェクトが正しくビルドされ、実行されることを確認できます。