I次のgitリポジトリを持ってGit - ネストされたサブモジュールを扱う?
Vector
Random
String
文字列のベクトルに依存し、サブモジュールとして追加します。 ベクトルサブモジュールランダム。ランダムは依存関係がありません。
Module: Random
Module: Vector
Submodule: Random
Module: String
Submodule: Vector
Submodule: Random
私はVector
の内部Random
サブモジュール、(NOT実際のモジュールRandom
)の内部で何かを変更すると、自動的に別の場所に存在しModule: Random
または他のSubmodule Random
さんを更新しません。 。
Vector
(モジュール)内の何かを変更すると、は、String
のVector
を更新しません。 String
のリポジトリにアクセスし、git pull
と入力すると、最新のものであると主張します。 submodule Vector
の中にcd
があり、タイプがgit pull
の場合、THENのみが実際にsubmodule Vector
を更新します。その中でString
リポジトリに変更をコミットすることを望みます。String
の内部で何も変更されていません。
サブモジュールが50個あるリポジトリを持っているとどうなりますか?私のサブモジュールは常に変化しますと私は私のプロジェクトに触れるだけでなく、それが変更されたサブモジュールだったので、そのプルをコミットしたいすべての時間をプルする必要はありませんしたくありません。これを行う簡単な方法があるはずです。
は、インフラストラクチャの一部として、Gitはあなたがサブモジュールを使用している場所のコミットのSHAを保持(すなわち子を更新するときに親にコミットする必要がある理由 - サブモジュールのコミット*が使用されていることを変更しました!)。これは、そのリポジトリのすべての "クライアント"が異なるバージョンでそれを使用している可能性があるからです。これは、新しい機能(およびバグ)を追加するときにクライアントを変更または更新したくないが、他のクライアントに最新の機能を使用させたい場合に重要になります。 – crashmstr