サブモジュールGITレポ内部のGITレポ


私のシステム上でSaleorプラットフォームを設定するためのインストールガイドに従って、必要なコマンドの全てをコピーしてペーストしました.
最初のコマンドは
git clone https://github.com/mirumee/saleor-platform.git --recursive --jobs 3
私はgit clone <repo-url>をかなり理解しましたが、recursive --jobs 3が何をしていたか全くわからなかったです.
しかし、私が少しの誤りも得ない限り、それは本当に私を悩ませませんでした.
しかし、後でgithubの倉庫を閲覧して、フォルダの上でクリックしたので、それは私が別のレポに向けられたかのようでした.畝
すぐにGoogleに相談して、彼に尋ねました.
そして、Voila!サブモジュールを見つけました.
以下はサブモジュールの概要です.
(this blog年)
サブモジュール
つのプロジェクトに取り組んでいる間、あなたはそれの中からもう一つのプロジェクトを使用する必要があることがしばしば起こります.おそらく、それはサードパーティが開発したライブラリか、別々に開発し、複数の親プロジェクトで使用しているライブラリです.これらのシナリオでは共通の問題が発生します.2つのプロジェクトを別のものとして扱うことができます.
gitはサブモジュールを使用してこの問題に対処します.サブモジュールは、gitリポジトリを別のGitリポジトリのサブディレクトリとして保つことができます.これにより、プロジェクトに別のリポジトリをクローン化し、コミットを別々に保つことができます.
例:
Slingshotというプロジェクトに取り組んでいるとしましょう.y-shaped stickrubber-bandのコードがあります.

同時に、別のリポジトリでは、ロックと呼ばれる別のプロジェクトを持っているだけで一般的なrockライブラリですが、あなたはそれがスリングショットに最適だと思います.rockのサブモジュールとしてslingshotを追加できます.slingshot倉庫で
git submodule add https://github.com/<user>/rock rock
この時点で、Slingshotの中にロックフォルダがあるでしょうが、Gitのバージョンによっては、そのフォルダの中に覗いてみてください.
Gitの新しいバージョンはこれを自動的に行うでしょうが、古いバージョンではGitを明示的にロックの内容をダウンロードする必要があります.
git submodule update --init --recursive
すべてがうまく見えるならば、あなたはこの変化を犯すことができます、そして、あなたはロック倉庫からすべての内容でSlingshotリポジトリでロックフォルダを持っています.
Githubでは、ロックフォルダのアイコンに小さなモジュールが表示されます.

そして、ロックフォルダをクリックすると、ロックリポジトリにあなたを取るでしょう.
それだ!あなたは、Slingshotリポジトリの中にロックリポジトリを埋めました.あなたはロックからのすべてのコンテンツとの対話は、それがスリングショット内のフォルダであった場合(これは)です.
コマンドラインでは、Slingshotから発行されたGitコマンド(または他のフォルダ、ゴムバンド、Y字型のいずれか)は、“親リポジトリ”、Slingshotで動作しますが、ロックフォルダから発行されるコマンドは、単にロックリポジトリで動作します.
cd ~/projects/slingshot
git log # log shows commits from Project Slingshot
cd ~/projects/slingshot/rubber-band
git log # still commits from Project Slingshot
cd ~/projects/slingshot/rock
git log # commits from Rock
サブモジュールを使用したプロジェクトへの参加
今、あなたはプロジェクトのスリングショットに参加している新しい協力者だと言う.Slingshotリポジトリの内容をダウンロードするには、Gitクローンを実行して起動します.この時点で、あなたがロックフォルダの中に覗いているならば、あなたは見ます...何もない.
また、Gitは、サブモジュールの内容をダウンロードするように明示的に要求します.GitサブモジュールUPDATE -- INIT --再帰的にここでも使用できますが、はじめてはじめてSlingshotをクローニングしている場合は、修正されたcloneコマンドを使用して、サブモジュールを含めてすべてをダウンロードしてください.
git clone --recursive <project url>
サブモジュールを使用すると、別のリポジトリ内のサブフォルダーとして1つ以上のリポジトリを組み込むことができます.
最後に、誰も来なかったような気がした.