質問: Gitサブモジュールの混乱:gitに慣れていない開発者と一緒にgitサブモジュールを使う方法は? 私は本当にgitのサブモジュール機能の使用について不満を持っています。私はまだそれを正しくしないか、または私がこれを期待しているようにちょうど動作しません。以下のプロジェクト状況が与えられる: ``` Project | .git | projsrc | source (submodule) | proj.sln ``` このシナリオでは、**ソース**は、すべてのプロジェクト全体の共通ソースデータを含む別のリポジトリを指しています。 **source** の下で **projsrc** の下にも多くの開発が行われています。残念ながら、**プロジェクト**は、ソースサブモジュールのコミットを指し、実際のHEADではありません。これは私が知っている限り、通常のgitの動作です。 私はすでにそれを知った ``` git submodule update ``` メインプロジェクトと一緒にコミットされたサブモジュールのバージョンを取得するだけです。しかし、私は実際にサブモジュールの開発に関して常に最新のものにしたいと思っていますが、これをどうやって行うのか本当の手がかりはありません。したがって、私の質問は: サブモジュールのHEADに[**プロジェクト**]を添付することは可能ですか? これがProjectのコンパイルを破るかどうかは事実ではない。 私はちょうどサブモジュールに常に行きたいとは思わない *git pull* してください。私は私の変更が緩んだと思うので サブモジュールディレクトリには、これは単純な コミットして本当にどんなブランチにもそうではありません。 **Please consider following constraints**: * グループ内の開発者は、すべてのVCSに精通しているわけではありません。私たちは以前には本当に巨大なsvnリポジトリを使用していましたが、外部repo機能は一切使用していませんでした。 * Windowsで作業しています * プロジェクトメンバーのほとんどがコマンドラインインターフェイスを使用して怖がっているので、クリックしないでください:
回答: サブモジュールが特定のリビジョンを指す理由は重要です。 HEADをポイントすると、ビルドは**再現不可能**になります。私。もしあなたが昨日のプロジェクトのバージョンをチェックアウトすれば、昨日のソース@ HEADの正確なバージョンは分かりません。 そのため、常に特定のリビジョンを保存しています。 To pull all submodules you could use Easy way pull latest of all submodules